Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* argv_copy: copy the argvv struct to a new new argvv_copy. */
- void argv_copy(char ***argvv, char ****argvv_copy)
- {
- char ***aux;
- char **argv;
- int argc, argvc;
- for (argvc = 0; (argv = argvv[argvc]); argvc++);
- if (argvc == 0)
- return;
- aux = (char ***)malloc(argvc*sizeof(char**)+1);
- for (argvc = 0; (argv = argvv[argvc]); argvc++) 
- {
- for (argc = 0; argv[argc]; argc++);
- aux[argvc] = (char **)malloc(argc*sizeof(char*)+1);
- }
- for (argvc = 0; (argv = argvv[argvc]); argvc++) 
- {
- for (argc = 0; argv[argc]; argc++)
- {
- aux[argvc][argc] = NULL;
- if (argv[argc]){
- aux[argvc][argc] = (char *)malloc(strlen(argv[argc])+1); 
- strcpy(aux[argvc][argc],argv[argc]);
- }
- }
- aux[argvc][argc] = NULL;
- }
- aux[argvc] = NULL;
- *argvv_copy = aux;
- /***************** Testing **************
- for (argvc = 0; (argv = aux[argvc]); argvc++) 
- {
- for (argc = 0; argv[argc]; argc++)
- {
- printf("copy: [%d][%d] -> %s (%p)\n",argvc,argc,argv[argc],argv[argc]);
- }
- printf("argvv[%d][%d] -> NULL\n",argvc,argc);
- printf("\n");
- }
- printf("argvv[%d] -> NULL\n",argvc);
- ******************************************/
- }
- /* argv_free: free the resources used by argvv. */
- void argv_free(char ****argvv_copy)
- {
- char **argv;
- int argc,argvc;
- char ***argvv = *argvv_copy;
-  
- for (argvc = 0; (argv = argvv[argvc]); argvc++) 
- {
- for (argc = 0; argv[argc]; argc++)
- {
- free(argv[argc]);
- }
- free(argvv[argvc]);
- }
- free(argvv);
- *argvv_copy = NULL;
- }
- /* files_copy: copy the filev struct to a new new filev_copy. . */
- void files_copy(char *filev[3], char *filev_copy[3])
- {
- int i; 
- for (i=0;i<3;i++){
- filev_copy[i] = NULL;
- if (filev[i]){
- filev_copy[i] = (char *)malloc(strlen(filev[i])+1); 
- strcpy(filev_copy[i],filev[i]);
- }
- }
- }
- /* files_free: free the resources used by filev. */
- void files_free(char *filev_copy[3])
- {
- int i; 
- for (i=0;i<3;i++){
- if (filev_copy[i]){
- free(filev_copy[i]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement