Changeset 1663 in MondoRescue for branches/stable/mondo/src/common/libmondo-archive.c
- Timestamp:
- Sep 27, 2007, 12:21:18 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mondo/src/common/libmondo-archive.c
r1639 r1663 79 79 extern char *MONDO_LOGFILE; 80 80 81 /* Reference to global bkpinfo */ 82 extern struct s_bkpinfo *bkpinfo; 83 81 84 82 85 … … 198 201 199 202 int 200 archive_this_fileset_with_star(struct s_bkpinfo *bkpinfo, char *filelist, 201 char *fname, int setno) 203 archive_this_fileset_with_star(char *filelist, char *fname, int setno) 202 204 { 203 205 int retval = 0; … … 297 299 */ 298 300 int 299 archive_this_fileset(struct s_bkpinfo *bkpinfo, char *filelist, 300 char *fname, int setno) 301 archive_this_fileset(char *filelist, char *fname, int setno) 301 302 { 302 303 … … 319 320 320 321 if (bkpinfo->compression_level > 0 && bkpinfo->use_star) { 321 return (archive_this_fileset_with_star 322 (bkpinfo, filelist, fname, setno)); 322 return (archive_this_fileset_with_star(filelist, fname, setno)); 323 323 } 324 324 … … 431 431 * @ingroup archiveGroup 432 432 */ 433 int backup_data( struct s_bkpinfo *bkpinfo)433 int backup_data() 434 434 { 435 435 int retval = 0, res = 0; … … 437 437 438 438 assert(bkpinfo != NULL); 439 set_g_cdrom_and_g_dvd_to_bkpinfo_value( bkpinfo);439 set_g_cdrom_and_g_dvd_to_bkpinfo_value(); 440 440 441 441 if (bkpinfo->backup_media_type == dvd) { … … 452 452 } 453 453 454 if ((res = prepare_filelist( bkpinfo))) { /* generate scratchdir/filelist.full */454 if ((res = prepare_filelist())) { /* generate scratchdir/filelist.full */ 455 455 fatal_error("Failed to generate filelist catalog"); 456 456 } 457 if (call_filelist_chopper( bkpinfo)) {457 if (call_filelist_chopper()) { 458 458 fatal_error("Failed to run filelist chopper"); 459 459 } … … 472 472 mr_free(tmp); 473 473 474 copy_mondo_and_mindi_stuff_to_scratchdir( bkpinfo); // payload, too, if it exists474 copy_mondo_and_mindi_stuff_to_scratchdir(); // payload, too, if it exists 475 475 #if __FreeBSD__ == 5 476 476 strcpy(bkpinfo->kernel_path, "/boot/kernel/kernel"); … … 486 486 #error "I don't know about this system!" 487 487 #endif 488 if ((res = call_mindi_to_supply_boot_disks( bkpinfo))) {488 if ((res = call_mindi_to_supply_boot_disks())) { 489 489 fatal_error("Failed to generate boot+data disks"); 490 490 } 491 retval += do_that_initial_phase( bkpinfo); // prepare491 retval += do_that_initial_phase(); // prepare 492 492 mr_asprintf(&tmp, "rm -f %s/images/*.iso", bkpinfo->scratchdir); 493 493 run_program_and_log_output(tmp, 1); 494 494 mr_free(tmp); 495 retval += make_those_afios_phase( bkpinfo); // backup regular files496 retval += make_those_slices_phase( bkpinfo); // backup BIG files497 retval += do_that_final_phase( bkpinfo); // clean up495 retval += make_those_afios_phase(); // backup regular files 496 retval += make_those_slices_phase(); // backup BIG files 497 retval += do_that_final_phase(); // clean up 498 498 mr_msg(1, "Creation of archives... complete."); 499 499 if (bkpinfo->verify_data) { … … 529 529 * @ingroup MLarchiveGroup 530 530 */ 531 int call_mindi_to_supply_boot_disks( struct s_bkpinfo *bkpinfo)531 int call_mindi_to_supply_boot_disks() 532 532 { 533 533 /*@ buffer ************************************************************ */ … … 1005 1005 char *curr_acl_list_fname; 1006 1006 1007 struct s_bkpinfo *bkpinfo ;1007 struct s_bkpinfo *bkpinfo_bis; 1008 1008 char *tmp = NULL; 1009 1009 int res = 0, retval = 0; … … 1020 1020 p_next_set_to_archive = (int *) (inbuf + 8); 1021 1021 p_list_of_fileset_flags = (char *) (inbuf + 12); 1022 bkpinfo = (struct s_bkpinfo *) (inbuf + BKPINFO_LOC_OFFSET);1022 bkpinfo_bis = (struct s_bkpinfo *) (inbuf + BKPINFO_LOC_OFFSET); 1023 1023 1024 1024 sprintf(archiving_filelist_fname, FILELIST_FNAME_RAW_SZ, … … 1088 1088 mr_msg(4, "[%d:%d] - archiving %d...", getpid(), 1089 1089 this_thread_no, archiving_set_no); 1090 res = archive_this_fileset(bkpinfo, archiving_filelist_fname, 1090 res = 1091 archive_this_fileset(archiving_filelist_fname, 1091 1092 archiving_afioball_fname, 1092 1093 archiving_set_no); … … 1141 1142 * @ingroup MLarchiveGroup 1142 1143 */ 1143 int do_that_final_phase( struct s_bkpinfo *bkpinfo)1144 int do_that_final_phase() 1144 1145 { 1145 1146 … … 1157 1158 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 1158 1159 /* write tape/cdstream */ 1159 closeout_tape( bkpinfo);1160 closeout_tape(); 1160 1161 } else { 1161 1162 /* write final ISO/USB */ 1162 res = write_final_iso_if_necessary( bkpinfo);1163 res = write_final_iso_if_necessary(); 1163 1164 retval += res; 1164 1165 if (res) { … … 1200 1201 * @ingroup MLarchiveGroup 1201 1202 */ 1202 int do_that_initial_phase( struct s_bkpinfo *bkpinfo)1203 int do_that_initial_phase() 1203 1204 { 1204 1205 /*@ int *************************************** */ … … 1309 1310 * @return The number of errors encountered (0 for success) 1310 1311 */ 1311 int make_afioballs_and_images( struct s_bkpinfo *bkpinfo)1312 int make_afioballs_and_images() 1312 1313 { 1313 1314 … … 1367 1368 _("Please wait. This may take a couple of hours."), 1368 1369 _("Working..."), 1369 get_last_filelist_number( bkpinfo) + 1);1370 get_last_filelist_number() + 1); 1370 1371 1371 1372 srand((unsigned int) getpid()); … … 1433 1434 sleep(5); 1434 1435 } 1435 strcpy(media_usage_comment, 1436 percent_media_full_comment(bkpinfo)); 1436 strcpy(media_usage_comment, percent_media_full_comment()); 1437 1437 /* copy to CD (scratchdir) ... and an actual CD-R if necessary */ 1438 1438 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { … … 1442 1442 storing_afioball_fname); 1443 1443 iamhere("Writing EXAT files"); 1444 res += write_EXAT_files_to_tape(bkpinfo, 1445 curr_xattr_list_fname, 1444 res += write_EXAT_files_to_tape(curr_xattr_list_fname, 1446 1445 curr_acl_list_fname); 1447 1446 // archives themselves 1448 1447 res += 1449 move_files_to_stream( bkpinfo,storing_afioball_fname,1448 move_files_to_stream(storing_afioball_fname, 1450 1449 NULL); 1451 1450 } else { 1452 1451 if (g_getfacl) { 1453 1452 if (g_getfattr) { 1454 res = move_files_to_cd( bkpinfo,storing_filelist_fname,1453 res = move_files_to_cd(storing_filelist_fname, 1455 1454 curr_xattr_list_fname, 1456 1455 curr_acl_list_fname, 1457 1456 storing_afioball_fname, NULL); 1458 1457 } else { 1459 res = move_files_to_cd( bkpinfo,storing_filelist_fname,1458 res = move_files_to_cd(storing_filelist_fname, 1460 1459 curr_acl_list_fname, 1461 1460 storing_afioball_fname, NULL); … … 1463 1462 } else { 1464 1463 if (g_getfattr) { 1465 res = move_files_to_cd( bkpinfo,storing_filelist_fname,1464 res = move_files_to_cd(storing_filelist_fname, 1466 1465 curr_xattr_list_fname, 1467 1466 storing_afioball_fname, NULL); 1468 1467 } else { 1469 res = move_files_to_cd( bkpinfo,storing_filelist_fname,1468 res = move_files_to_cd(storing_filelist_fname, 1470 1469 storing_afioball_fname, NULL); 1471 1470 } … … 1545 1544 * @return The number of errors encountered (0 for success) 1546 1545 */ 1547 int make_iso_fs( struct s_bkpinfo *bkpinfo,char *destfile)1546 int make_iso_fs(char *destfile) 1548 1547 { 1549 1548 /*@ int ********************************************** */ … … 1592 1591 mr_asprintf(&message_to_screen, "Running pre-ISO call for CD#%d", 1593 1592 g_current_media_number); 1594 res = eval_call_to_make_ISO(bkpinfo , bkpinfo->call_before_iso,1593 res = eval_call_to_make_ISO(bkpinfo->call_before_iso, 1595 1594 destfile, g_current_media_number, 1596 1595 MONDO_LOGFILE, message_to_screen); … … 1618 1617 ("Serious error(s) occurred already. I shan't try to write to media."); 1619 1618 } else { 1620 res = eval_call_to_make_ISO(bkpinfo , bkpinfo->call_make_iso,1619 res = eval_call_to_make_ISO(bkpinfo->call_make_iso, 1621 1620 destfile, g_current_media_number, 1622 1621 MONDO_LOGFILE, message_to_screen); … … 1680 1679 pause_for_N_seconds(5, "Letting DVD drive settle"); 1681 1680 res = 1682 eval_call_to_make_ISO(bkpinfo , bkpinfo->call_make_iso,1681 eval_call_to_make_ISO(bkpinfo->call_make_iso, 1683 1682 destfile, 1684 1683 g_current_media_number, … … 1724 1723 bkpinfo->backup_media_string, 1725 1724 g_current_media_number); 1726 res = eval_call_to_make_ISO(bkpinfo , bkpinfo->call_after_iso,1725 res = eval_call_to_make_ISO(bkpinfo->call_after_iso, 1727 1726 destfile, g_current_media_number, 1728 1727 MONDO_LOGFILE, message_to_screen); … … 1783 1782 */ 1784 1783 int 1785 make_slices_and_images( struct s_bkpinfo *bkpinfo,char *biggielist_fname)1784 make_slices_and_images(char *biggielist_fname) 1786 1785 { 1787 1786 … … 1814 1813 1815 1814 estimated_total_noof_slices = 1816 size_of_all_biggiefiles_K( bkpinfo) / bkpinfo->optimal_set_size + 1;1815 size_of_all_biggiefiles_K() / bkpinfo->optimal_set_size + 1; 1817 1816 1818 1817 mr_msg(1, "size of all biggiefiles = %ld", 1819 size_of_all_biggiefiles_K( bkpinfo));1818 size_of_all_biggiefiles_K()); 1820 1819 mr_msg(1, "estimated_total_noof_slices = %ld KB / %ld KB = %ld", 1821 size_of_all_biggiefiles_K( bkpinfo), bkpinfo->optimal_set_size,1820 size_of_all_biggiefiles_K(), bkpinfo->optimal_set_size, 1822 1821 estimated_total_noof_slices); 1823 1822 … … 1909 1908 } 1910 1909 res = 1911 slice_up_file_etc(b kpinfo, bigfile_fname,1910 slice_up_file_etc(bigfile_fname, 1912 1911 ntfsprog_fifo, biggie_file_number, 1913 1912 noof_biggie_files, use_ntfsprog); … … 1957 1956 * @see make_afioballs_and_images 1958 1957 */ 1959 int make_afioballs_and_images_OLD( struct s_bkpinfo *bkpinfo)1958 int make_afioballs_and_images_OLD() 1960 1959 { 1961 1960 … … 1983 1982 _("Please wait. This may take a couple of hours."), 1984 1983 _("Working..."), 1985 get_last_filelist_number( bkpinfo) + 1);1984 get_last_filelist_number() + 1); 1986 1985 1987 1986 mr_asprintf(&curr_filelist_fname, FILELIST_FNAME_RAW_SZ, bkpinfo->tmpdir, … … 2007 2006 2008 2007 mr_msg(1, "Archiving set %ld", curr_set_no); 2009 res = archive_this_fileset( bkpinfo,curr_filelist_fname,2008 res = archive_this_fileset(curr_filelist_fname, 2010 2009 curr_afioball_fname, curr_set_no); 2011 2010 retval += res; … … 2018 2017 } 2019 2018 2020 strcpy(media_usage_comment, percent_media_full_comment( bkpinfo));2019 strcpy(media_usage_comment, percent_media_full_comment()); 2021 2020 2022 2021 /* copy to CD (scratchdir) ... and an actual CD-R if necessary */ … … 2027 2026 curr_afioball_fname); 2028 2027 iamhere("Writing EXAT files"); 2029 res += write_EXAT_files_to_tape( bkpinfo,curr_xattr_list_fname,2028 res += write_EXAT_files_to_tape(curr_xattr_list_fname, 2030 2029 curr_acl_list_fname); 2031 2030 // archives themselves 2032 res = move_files_to_stream( bkpinfo,curr_afioball_fname, NULL);2031 res = move_files_to_stream(curr_afioball_fname, NULL); 2033 2032 } else { 2034 2033 if (g_getfacl) { 2035 2034 if (g_getfattr) { 2036 res = move_files_to_cd( bkpinfo,curr_filelist_fname,2035 res = move_files_to_cd(curr_filelist_fname, 2037 2036 curr_xattr_list_fname, 2038 2037 curr_acl_list_fname, 2039 2038 curr_afioball_fname, NULL); 2040 2039 } else { 2041 res = move_files_to_cd( bkpinfo,curr_filelist_fname,2040 res = move_files_to_cd(curr_filelist_fname, 2042 2041 curr_acl_list_fname, 2043 2042 curr_afioball_fname, NULL); … … 2045 2044 } else { 2046 2045 if (g_getfattr) { 2047 res = move_files_to_cd( bkpinfo,curr_filelist_fname,2046 res = move_files_to_cd(curr_filelist_fname, 2048 2047 curr_xattr_list_fname, 2049 2048 curr_afioball_fname, NULL); 2050 2049 } else { 2051 res = move_files_to_cd( bkpinfo,curr_filelist_fname,2050 res = move_files_to_cd(curr_filelist_fname, 2052 2051 curr_afioball_fname, NULL); 2053 2052 } … … 2097 2096 * @ingroup MLarchiveGroup 2098 2097 */ 2099 int make_those_afios_phase( struct s_bkpinfo *bkpinfo)2098 int make_those_afios_phase() 2100 2099 { 2101 2100 /*@ int ******************************************* */ … … 2114 2113 mr_msg(1, 2115 2114 "Using single-threaded make_afioballs_and_images() to suit b0rken FreeBSD 5.0"); 2116 res = make_afioballs_and_images_OLD( bkpinfo);2115 res = make_afioballs_and_images_OLD(); 2117 2116 #else 2118 res = make_afioballs_and_images_OLD( bkpinfo);2117 res = make_afioballs_and_images_OLD(); 2119 2118 #endif 2120 2119 write_header_block_to_stream((off_t)0, "stop-afioballs", 2121 2120 BLK_STOP_AFIOBALLS); 2122 2121 } else { 2123 res = make_afioballs_and_images( bkpinfo);2122 res = make_afioballs_and_images(); 2124 2123 } 2125 2124 … … 2143 2142 * @ingroup MLarchiveGroup 2144 2143 */ 2145 int make_those_slices_phase( struct s_bkpinfo *bkpinfo)2144 int make_those_slices_phase() 2146 2145 { 2147 2146 … … 2195 2194 2196 2195 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 2197 res += write_EXAT_files_to_tape( bkpinfo,xattr_fname, acl_fname);2196 res += write_EXAT_files_to_tape(xattr_fname, acl_fname); 2198 2197 mr_asprintf(&blah, "%ld", count_lines_in_file(biggielist)); 2199 2198 write_header_block_to_stream((off_t)0, blah, BLK_START_BIGGIEFILES); … … 2207 2206 } 2208 2207 2209 res = make_slices_and_images(b kpinfo, biggielist);2208 res = make_slices_and_images(biggielist); 2210 2209 mr_free(biggielist); 2211 2210 … … 2234 2233 * transfer files over the network) or leave it as is. 2235 2234 */ 2236 int (*move_files_to_cd) ( struct s_bkpinfo *,char *, ...) =2235 int (*move_files_to_cd) (char *, ...) = 2237 2236 _move_files_to_cd; 2238 2237 … … 2255 2254 * @return The number of errors encountered (0 for success) 2256 2255 */ 2257 int _move_files_to_cd( struct s_bkpinfo *bkpinfo,char *files_to_add, ...)2256 int _move_files_to_cd(char *files_to_add, ...) 2258 2257 { 2259 2258 … … 2296 2295 if (would_occupy / 1024 > bkpinfo->media_size) { 2297 2296 /* FALSE because this is not the last CD we'll write */ 2298 res = write_iso_and_go_on( bkpinfo,FALSE);2297 res = write_iso_and_go_on(FALSE); 2299 2298 retval += res; 2300 2299 if (res) { … … 2344 2343 * transfer files over the network) or leave it as is. 2345 2344 */ 2346 int (*move_files_to_stream) ( struct s_bkpinfo *,char *, ...) =2345 int (*move_files_to_stream) (char *, ...) = 2347 2346 _move_files_to_stream; 2348 2347 … … 2361 2360 */ 2362 2361 int 2363 _move_files_to_stream( struct s_bkpinfo *bkpinfo,char *files_to_add, ...)2362 _move_files_to_stream(char *files_to_add, ...) 2364 2363 { 2365 2364 … … 2405 2404 type = other; 2406 2405 } 2407 res = write_file_to_stream_from_file( bkpinfo,curr_file);2406 res = write_file_to_stream_from_file(curr_file); 2408 2407 retval += res; 2409 2408 unlink(curr_file); … … 2517 2516 } 2518 2517 log_to_screen("Scanning CD-ROM drive..."); 2519 sprintf(mtpt, "/tmp/cd.mtpt.%ld.%ld", (long int) random(), 2520 (long int) random()); 2518 sprintf(mtpt, "%s/cd.mtpt", bkpinfo->tmpdir); 2521 2519 make_hole_for_dir(mtpt); 2522 2520 … … 2670 2668 */ 2671 2669 int 2672 slice_up_file_etc( struct s_bkpinfo *bkpinfo,char *biggie_filename,2670 slice_up_file_etc(char *biggie_filename, 2673 2671 char *ntfsprog_fifo, long biggie_file_number, 2674 2672 long noof_biggie_files, bool use_ntfsprog) … … 2797 2795 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 2798 2796 res = 2799 move_files_to_stream(bkpinfo, 2800 slice_fname(biggie_file_number, 0, 2797 move_files_to_stream(slice_fname(biggie_file_number, 0, 2801 2798 bkpinfo->tmpdir, ""), NULL); 2802 2799 } else { 2803 2800 res = 2804 move_files_to_cd(bkpinfo, 2805 slice_fname(biggie_file_number, 0, 2801 move_files_to_cd(slice_fname(biggie_file_number, 0, 2806 2802 bkpinfo->tmpdir, ""), NULL); 2807 2803 } … … 2823 2819 suffix)); 2824 2820 2825 mr_asprintf(&tmp, percent_media_full_comment( bkpinfo));2821 mr_asprintf(&tmp, percent_media_full_comment()); 2826 2822 update_progress_form(tmp); 2827 2823 mr_free(tmp); … … 2917 2913 maintain_collection_of_recent_archives(bkpinfo->tmpdir, 2918 2914 file_to_archive); 2919 res = move_files_to_stream( bkpinfo,file_to_archive, NULL);2915 res = move_files_to_stream(file_to_archive, NULL); 2920 2916 } else { 2921 res = move_files_to_cd( bkpinfo,file_to_archive, NULL);2917 res = move_files_to_cd(file_to_archive, NULL); 2922 2918 } 2923 2919 mr_free(file_to_archive); … … 3014 3010 * however, this occurs rarely. 3015 3011 */ 3016 int write_final_iso_if_necessary( struct s_bkpinfo *bkpinfo)3012 int write_final_iso_if_necessary() 3017 3013 { 3018 3014 /*@ int ***************************************************** */ … … 3037 3033 #endif 3038 3034 mr_free(tmp); 3039 res = write_iso_and_go_on( bkpinfo,TRUE);3035 res = write_iso_and_go_on(TRUE); 3040 3036 #ifndef _XWIN 3041 3037 if (!g_text_mode) { … … 3065 3061 * @see make_iso_fs 3066 3062 */ 3067 int write_iso_and_go_on( struct s_bkpinfo *bkpinfo,bool last_cd)3063 int write_iso_and_go_on(bool last_cd) 3068 3064 { 3069 3065 /*@ pointers **************************************************** */ … … 3147 3143 for (that_one_was_ok = FALSE; !that_one_was_ok;) { 3148 3144 if (bkpinfo->backup_media_type != usb) { 3149 res = make_iso_fs( bkpinfo,isofile);3145 res = make_iso_fs(isofile); 3150 3146 } else { 3151 3147 } … … 3168 3164 chdir("/"); 3169 3165 iamhere("Before calling verify_cd_image()"); 3170 res += verify_cd_image( bkpinfo);3166 res += verify_cd_image(); 3171 3167 iamhere("After calling verify_cd_image()"); 3172 3168 } … … 3227 3223 * @ingroup verifyGroup 3228 3224 */ 3229 int verify_data( struct s_bkpinfo *bkpinfo)3225 int verify_data() 3230 3226 { 3231 3227 int res = 0, retval = 0, cdno = 0; … … 3238 3234 mvaddstr_and_log_it(g_currentY, 0, 3239 3235 "Verifying archives against live filesystem"); 3240 verify_tape_backups( bkpinfo);3236 verify_tape_backups(); 3241 3237 mvaddstr_and_log_it(g_currentY++, 74, "Done."); 3242 3238 } else if (bkpinfo->backup_data) … … 3245 3241 mr_msg(2, 3246 3242 "Not verifying again. Per-CD/ISO verification already carried out."); 3247 paranoid_system3248 ("cat /tmp/changed.files.* > /tmp/changed.files 2> /dev/null");3243 sprintf(tmp, "cat %s/changed.files > %s/changed.files 2> /dev/null",bkpinfo->tmpdir, MINDI_CACHE); 3244 paranoid_system(tmp); 3249 3245 } else { 3250 3246 g_current_media_number = cdno; … … 3258 3254 } 3259 3255 if (bkpinfo->backup_media_type != iso) { 3260 insist_on_this_cd_number( bkpinfo,cdno);3261 } 3262 res = verify_cd_image( bkpinfo); // sets verify_data to FALSE if it's time to stop verifying3256 insist_on_this_cd_number(cdno); 3257 } 3258 res = verify_cd_image(); // sets verify_data to FALSE if it's time to stop verifying 3263 3259 retval += res; 3264 3260 if (res) { 3265 3261 mr_asprintf(&tmp, 3266 3267 bkpinfo->backup_media_string,3268 3262 "Warnings/errors were reported while checking %s #%d", 3263 media_descriptor_string(bkpinfo->backup_media_type), 3264 g_current_media_number); 3269 3265 log_to_screen(tmp); 3270 3266 mr_free(tmp); … … 3273 3269 } 3274 3270 mr_asprintf(&tmp, 3275 "grep 'afio: ' %s | sed 's/afio: //' | grep -vE '^/dev/.*$' >> /tmp/changed.files",3276 MONDO_LOGFILE);3271 "grep 'afio: ' %s | sed 's/afio: //' | grep -vE '^/dev/.*$' >> %s/changed.files", 3272 MONDO_LOGFILE, MINDI_CACHE); 3277 3273 system(tmp); 3278 3274 mr_free(tmp); 3279 3275 3280 3276 mr_asprintf(&tmp, 3281 "grep 'star: ' %s | sed 's/star: //' | grep -vE '^/dev/.*$' >> /tmp/changed.files",3282 MONDO_LOGFILE);3277 "grep 'star: ' %s | sed 's/star: //' | grep -vE '^/dev/.*$' >> %s/changed.files", 3278 MONDO_LOGFILE, MINDI_CACHE); 3283 3279 system(tmp); 3284 3280 mr_free(tmp); … … 3287 3283 eject_device(bkpinfo->media_device); 3288 3284 } 3289 diffs = count_lines_in_file("/tmp/changed.files"); 3285 sprintf(tmp, "%s/changed.files", MINDI_CACHE); 3286 diffs = count_lines_in_file(tmp); 3290 3287 3291 3288 if (diffs > 0) {
Note:
See TracChangeset
for help on using the changeset viewer.