- Timestamp:
- Mar 5, 2024, 1:57:03 AM (14 months ago)
- Location:
- branches/3.3/mondo/src/common
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mondo/src/common/libmondo-devices.c
r3831 r3834 2751 2751 2752 2752 if (bkpinfo->exclude_paths != NULL ) { 2753 strncpy(p,bkpinfo->exclude_paths,(16*MAX_STR_LEN)-1);2753 mr_asprintf(p, "%s", bkpinfo->exclude_paths); 2754 2754 } else { 2755 p[0] = '\0'; 2756 } 2757 popup_and_get_string("Exclude paths", "Please enter paths which you do NOT want to backup. Separate them with '|'. NB: /tmp and /proc are always excluded. :-) Just hit 'Enter' if you want to do a full system backup.", p, (16*MAX_STR_LEN)-1); 2758 if (p == NULL) { 2755 mr_asprintf(p, "%s", ""); 2756 } 2757 tmp = mr_popup_and_get_string("Exclude paths", "Please enter paths which you do NOT want to backup. Separate them with '|'. NB: /tmp and /proc are always excluded. :-) Just hit 'Enter' if you want to do a full system backup.", p); 2758 mr_free(p); 2759 if (tmp == NULL) { 2759 2760 log_to_screen("User has chosen not to backup the machine"); 2760 2761 finish(1); 2761 2762 } 2762 2763 mr_free(bkpinfo->exclude_paths); 2763 mr_asprintf(tmp, "%s", p);2764 2764 bkpinfo->exclude_paths = tmp; 2765 2765 2766 2766 mr_asprintf(oldtmp, "%s", bkpinfo->tmpdir); 2767 2767 if (bkpinfo->tmpdir != NULL ) { 2768 strncpy(p,bkpinfo->tmpdir,(MAX_STR_LEN / 4)-1);2768 mr_asprintf(p, "%s", bkpinfo->tmpdir); 2769 2769 } else { 2770 p[0] = '\0'; 2771 } 2772 if (!popup_and_get_string("Temporary directory", "Please enter your temporary directory.", p, (4*MAX_STR_LEN)-1)) { 2770 mr_asprintf(p, "%s", ""); 2771 } 2772 tmp = mr_popup_and_get_string("Temporary directory", "Please enter your temporary directory.", p); 2773 mr_free(p); 2774 if (tmp == NULL) { 2775 mr_free(oldtmp); 2773 2776 log_to_screen("User has chosen not to backup the machine"); 2774 2777 finish(1); 2775 2778 } 2776 2779 /* if modified to another path */ 2777 if (strcmp( p,oldtmp) != 0) {2778 setup_tmpdir( p);2780 if (strcmp(tmp,oldtmp) != 0) { 2781 setup_tmpdir(tmp); 2779 2782 } 2780 2783 mr_free(oldtmp); … … 2782 2785 mr_asprintf(oldtmp, "%s", bkpinfo->scratchdir); 2783 2786 if (bkpinfo->scratchdir != NULL ) { 2784 strncpy(p,bkpinfo->scratchdir,(MAX_STR_LEN / 4)-1);2787 mr_asprintf(p, "%s", bkpinfo->scratchdir); 2785 2788 } else { 2786 p[0] = '\0'; 2787 } 2788 if (!popup_and_get_string("Scratch directory", "Please enter your scratch directory.", p, (4*MAX_STR_LEN)-1)) { 2789 mr_asprintf(p, "%s", ""); 2790 } 2791 tmp = mr_popup_and_get_string("Scratch directory", "Please enter your scratch directory.", p); 2792 mr_free(p); 2793 if (tmp == NULL) { 2794 mr_free(oldtmp); 2789 2795 log_to_screen("User has chosen not to backup the machine"); 2790 2796 finish(1); 2791 2797 } 2792 2798 /* if modified to another path */ 2793 if (strcmp( p,oldtmp) != 0) {2794 setup_scratchdir( p);2799 if (strcmp(tmp,oldtmp) != 0) { 2800 setup_scratchdir(tmp); 2795 2801 } 2796 2802 mr_free(oldtmp); -
branches/3.3/mondo/src/common/libmondo-tools.c
r3833 r3834 743 743 mr_asprintf(tmp, "/tmp/mondo.tmp.XXXXXX"); 744 744 } 745 mr_free(bkpinfo->tmpdir); 745 746 bkpinfo->tmpdir = mkdtemp(tmp); 746 747 if (bkpinfo->tmpdir == NULL) { … … 756 757 757 758 char *tmp = NULL; 758 char *p = NULL;759 759 760 760 if (bkpinfo->scratchdir != NULL) { … … 786 786 mr_asprintf(tmp, "/tmp/mondo.scratch.XXXXXX"); 787 787 } 788 p = mkdtemp(tmp); 789 if (p == NULL) { 788 mr_free(bkpinfo->scratchdir); 789 bkpinfo->scratchdir = mkdtemp(tmp); 790 if (bkpinfo->scratchdir == NULL) { 790 791 log_it("Failed to create global scratch directory %s for Mondo.",tmp); 792 mr_free(tmp); 791 793 finish(-1); 792 794 } 793 strcpy(bkpinfo->scratchdir,p);794 795 log_it("bkpinfo->scratchdir is being set to %s", bkpinfo->scratchdir); 795 paranoid_free(tmp); 796 797 mr_asprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir); 798 paranoid_system(tmp); 799 mr_free(tmp); 796 mr_system("mkdir -p %s", bkpinfo->scratchdir); 800 797 } 801 798 … … 828 825 829 826 /* We need tmpdir as early as possible for further function calls */ 830 bkpinfo->tmpdir = NULL; // Really setupafter831 bkpinfo->scratchdir [0] = '\0'; // Really setupafter827 bkpinfo->tmpdir = NULL; // Really setup just after 828 bkpinfo->scratchdir = NULL; // Really setup just after 832 829 setup_tmpdir(NULL); 833 830 setup_scratchdir(NULL); -
branches/3.3/mondo/src/common/mondostructures.h
r3833 r3834 481 481 * As such, it needs to be at least as large as the largest CD/DVD/ISO. 482 482 */ 483 char scratchdir[MAX_STR_LEN / 4];483 char *scratchdir; 484 484 485 485 /** -
branches/3.3/mondo/src/common/newt-specific.c
r3833 r3834 411 411 } 412 412 } 413 if (bkpinfo->scratchdir ) {413 if (bkpinfo->scratchdir != NULL) { 414 414 log_msg(8,"scratchdir is %s", bkpinfo->scratchdir); 415 415 if (strstr(bkpinfo->scratchdir ,"mondo.scratch.") != NULL) { … … 440 440 mr_free(bkpinfo->zip_suffix); 441 441 mr_free(bkpinfo->tmpdir); 442 mr_free(bkpinfo->scratchdir); 442 443 /* Then free the structure */ 443 444 paranoid_free(bkpinfo);
Note:
See TracChangeset
for help on using the changeset viewer.