Changeset 2327 in MondoRescue for branches/2.2.10/mondo/src/common
- Timestamp:
- Aug 18, 2009, 3:20:37 PM (16 years ago)
- Location:
- branches/2.2.10/mondo/src/common
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/common/libmondo-archive.c
r2326 r2327 2873 2873 biggiestruct.use_ntfsprog = use_ntfsprog; 2874 2874 optimal_set_size = bkpinfo->optimal_set_size; 2875 if (is_this_file_compressed(biggie_filename) 2876 || bkpinfo->compression_level == 0) { 2875 if (is_this_file_compressed(biggie_filename) || bkpinfo->compression_level == 0) { 2877 2876 mr_asprintf(suffix, "%s", ""); 2878 // log_it("%s is indeed compressed :-)", filename);2879 2877 should_I_compress_slices = FALSE; 2880 2878 } else { -
branches/2.2.10/mondo/src/common/libmondo-cli.c
r2326 r2327 1170 1170 1171 1171 if (flag_set['x']) { 1172 strncpy(bkpinfo->image_devs, flag_val['x'], MAX_STR_LEN / 4);1172 mr_asprintf(bkpinfo->image_devs, flag_val['x']); 1173 1173 if ((run_program_and_log_output("which ntfsclone", 2)) && (! bkpinfo->restore_data)) { 1174 1174 fatal_error("Please install ntfsprogs package/tarball."); -
branches/2.2.10/mondo/src/common/libmondo-devices.c
r2326 r2327 1894 1894 finish(1); 1895 1895 } 1896 strncpy(bkpinfo->image_devs, p, MAX_STR_LEN / 4);1897 mr_free(p);1896 mr_free(bkpinfo->image_devs); 1897 bkpinfo->image_devs = p; 1898 1898 } 1899 1899 … … 1973 1973 log_it("media size = %ld", bkpinfo->media_size[1]); 1974 1974 log_it("media type = %s", bkptype_to_string(bkpinfo->backup_media_type)); 1975 log_it("prefix = %s", bkpinfo->prefix); 1975 if (bkpinfo->prefix) { 1976 log_it("prefix = %s", bkpinfo->prefix); 1977 } 1976 1978 log_it("compression = %ld", bkpinfo->compression_level); 1977 log_it("include_paths = '%s'", bkpinfo->include_paths); 1978 log_it("exclude_paths = '%s'", bkpinfo->exclude_paths); 1979 if (bkpinfo->include_paths) { 1980 log_it("include_paths = '%s'", bkpinfo->include_paths); 1981 } 1982 if (bkpinfo->exclude_paths) { 1983 log_it("exclude_paths = '%s'", bkpinfo->exclude_paths); 1984 } 1979 1985 log_it("scratchdir = '%s'", bkpinfo->scratchdir); 1980 1986 log_it("tmpdir = '%s'", bkpinfo->tmpdir); 1981 log_it("image_devs = '%s'", bkpinfo->image_devs); 1987 if (bkpinfo->image_devs) { 1988 log_it("image_devs = '%s'", bkpinfo->image_devs); 1989 } 1982 1990 log_it("boot_device = '%s' (loader=%c)", bkpinfo->boot_device, bkpinfo->boot_loader); 1983 1991 if (bkpinfo->media_size[0] < 0) { -
branches/2.2.10/mondo/src/common/libmondo-filelist.c
r2325 r2327 87 87 88 88 /*@ pointers ********************** */ 89 char *ptr ;89 char *ptr = NULL; 90 90 FILE *fout; 91 91 … … 117 117 mr_free(tempfile); 118 118 119 log_it(bkpinfo->image_devs); 120 121 ptr = bkpinfo->image_devs; 122 123 malloc_string(dev); 124 while (ptr && *ptr) { 125 strcpy(dev, ptr); 126 log_it("Examining imagedev %s", dev); 127 for (i = 0; i < (int) strlen(dev) && dev[i] != ' '; i++); 128 dev[i] = '\0'; 129 if (!strlen(dev)) { 130 continue; 131 } 132 fprintf(fout, "%s\n", dev); 133 log_it("Adding '%s' to biggielist", dev); 134 if ((ptr = strchr(ptr, ' '))) { 135 ptr++; 119 if (bkpinfo->image_devs) { 120 log_it("image_devs : %s", bkpinfo->image_devs); 121 122 ptr = bkpinfo->image_devs; 123 124 while (ptr && *ptr) { 125 mr_asprintf(dev, "%s", ptr); 126 log_it("Examining imagedev %s", dev); 127 for (i = 0; i < (int) strlen(dev) && dev[i] != ' '; i++); 128 dev[i] = '\0'; 129 if (!strlen(dev)) { 130 mr_free(dev); 131 continue; 132 } 133 fprintf(fout, "%s\n", dev); 134 log_it("Adding '%s' to biggielist", dev); 135 if ((ptr = strchr(ptr, ' '))) { 136 ptr++; 137 } 138 mr_free(dev); 136 139 } 137 140 } … … 139 142 mvaddstr_and_log_it(g_currentY++, 74, "Done."); 140 143 141 paranoid_free(dev);142 144 return (retval); 143 145 } 144 145 146 146 147 -
branches/2.2.10/mondo/src/common/libmondo-files.c
r2325 r2327 1265 1265 mr_asprintf(tmp, "Your backup will occupy approximately %s media.", number_to_text((int) (scratchLL + 1))); 1266 1266 } 1267 if ( !bkpinfo->image_devs[0] && (scratchLL < 50)) {1267 if (scratchLL < 50) { 1268 1268 log_to_screen(tmp); 1269 1269 } -
branches/2.2.10/mondo/src/common/libmondo-tools.c
r2326 r2327 479 479 if (bkpinfo->use_lzo) { 480 480 mr_asprintf(bkpinfo->zip_exe, "lzop"); 481 strcpy(bkpinfo->zip_suffix, "lzo");481 mr_asprintf(bkpinfo->zip_suffix, "lzo"); 482 482 } else if (bkpinfo->use_gzip) { 483 483 mr_asprintf(bkpinfo->zip_exe, "gzip"); 484 strcpy(bkpinfo->zip_suffix, "gz");484 mr_asprintf(bkpinfo->zip_suffix, "gz"); 485 485 } else if (bkpinfo->compression_level != 0) { 486 486 mr_asprintf(bkpinfo->zip_exe, "bzip2"); 487 strcpy(bkpinfo->zip_suffix, "bz2"); 487 mr_asprintf(bkpinfo->zip_suffix, "bz2"); 488 } else { 489 mr_asprintf(bkpinfo->zip_exe, "none"); 490 mr_asprintf(bkpinfo->zip_suffix, ""); 488 491 } 489 492 … … 798 801 mr_free(bkpinfo->boot_device); 799 802 mr_free(bkpinfo->zip_exe); 803 mr_free(bkpinfo->zip_suffix); 804 mr_free(bkpinfo->image_devs); 800 805 mr_free(bkpinfo->isodir); 801 806 mr_free(bkpinfo->prefix); … … 804 809 mr_free(bkpinfo->include_paths); 805 810 mr_free(bkpinfo->exclude_paths); 811 mr_free(bkpinfo->restore_path); 806 812 mr_free(bkpinfo->nfs_mount); 807 813 mr_free(bkpinfo->nfs_remote_dir); … … 829 835 bkpinfo->boot_device = NULL; 830 836 bkpinfo->zip_exe = NULL; 831 bkpinfo->zip_suffix [0] = '\0';832 bkpinfo->image_devs [0] = '\0';837 bkpinfo->zip_suffix = NULL; 838 bkpinfo->image_devs = NULL; 833 839 bkpinfo->compression_level = 3; 834 840 bkpinfo->use_lzo = FALSE; … … 853 859 bkpinfo->include_paths = NULL; 854 860 bkpinfo->exclude_paths = NULL; 855 bkpinfo->restore_path [0] = '\0';861 bkpinfo->restore_path = NULL; 856 862 bkpinfo->call_before_iso[0] = '\0'; 857 863 bkpinfo->call_make_iso[0] = '\0'; -
branches/2.2.10/mondo/src/common/libmondo-verify.c
r2326 r2327 55 55 assert(bkpinfo != NULL); 56 56 assert_string_is_neither_NULL_nor_zerolength(mountpoint); 57 sprintf(output, "%s/archives/%d.star.%s", mountpoint, setno, 58 bkpinfo->zip_suffix); 57 sprintf(output, "%s/archives/%d.star.%s", mountpoint, setno, bkpinfo->zip_suffix); 59 58 if (!does_file_exist(output)) { 60 sprintf(output, "%s/archives/%d.afio.%s", mountpoint, setno, 61 bkpinfo->zip_suffix); 59 sprintf(output, "%s/archives/%d.afio.%s", mountpoint, setno, bkpinfo->zip_suffix); 62 60 } 63 61 return (output); … … 216 214 char *command = NULL; 217 215 char *mds = NULL; 218 char *sz_exe ;216 char *sz_exe = NULL; 219 217 static char *bufblkA = NULL; 220 218 static char *bufblkB = NULL; … … 237 235 int retval = 0; 238 236 239 malloc_string(sz_exe);240 237 if (!bufblkA) { 241 238 if (!(bufblkA = malloc(maxbufsize))) { … … 254 251 if (bkpinfo->compression_level > 0) { 255 252 if (bkpinfo->use_lzo) { 256 strcpy(sz_exe, "lzop");253 mr_asprintf(sz_exe, "lzop"); 257 254 } else if (bkpinfo->use_gzip) { 258 strcpy(sz_exe, "gzip");255 mr_asprintf(sz_exe, "gzip"); 259 256 } else { 260 strcpy(sz_exe, "bzip2"); 261 } 262 } else { 263 sz_exe[0] = '\0'; 257 mr_asprintf(sz_exe, "bzip2"); 258 } 264 259 } 265 260 … … 289 284 // handle slices until end of CD 290 285 if (slice_num == 0) { 291 log_msg(2, "ISO=%d bigfile=%ld --START--", 292 g_current_media_number, bigfile_num); 286 log_msg(2, "ISO=%d bigfile=%ld --START--", g_current_media_number, bigfile_num); 293 287 if (! (fin = fopen(slice_fname(bigfile_num, slice_num, mountpoint, ""), "r"))) { 294 288 log_msg(2, "Cannot open bigfile's info file"); … … 299 293 paranoid_fclose(fin); 300 294 } 301 mr_asprintf(tmp, "%s/%s", bkpinfo->restore_path, biggiestruct.filename); 302 log_msg(2, "Opening biggiefile #%ld - '%s'", bigfile_num, tmp); 303 forig = fopen(tmp, "r"); 304 mr_free(tmp); 305 306 if (!forig) { 307 log_msg(2, "Failed to open bigfile. Darn."); 308 log_to_screen("%s/%s not found on live filesystem", 309 bkpinfo->restore_path, 310 biggiestruct.filename); 311 mr_asprintf(tmp, "echo \"%s/%s not found\" >> %s/biggies.changed", bkpinfo->restore_path, biggiestruct.filename, bkpinfo->tmpdir); 312 system(tmp); 295 if (bkpinfo->restore_path) { 296 mr_asprintf(tmp, "%s/%s", bkpinfo->restore_path, biggiestruct.filename); 297 log_msg(2, "Opening biggiefile #%ld - '%s'", bigfile_num, tmp); 298 forig = fopen(tmp, "r"); 313 299 mr_free(tmp); 314 315 bigfile_num++; 316 slice_num = 0; 317 retval++; 300 301 if (!forig) { 302 log_msg(2, "Failed to open bigfile. Darn."); 303 log_to_screen("%s/%s not found on live filesystem", bkpinfo->restore_path, biggiestruct.filename); 304 mr_asprintf(tmp, "echo \"%s/%s not found\" >> %s/biggies.changed", bkpinfo->restore_path, biggiestruct.filename, bkpinfo->tmpdir); 305 system(tmp); 306 mr_free(tmp); 307 308 bigfile_num++; 309 slice_num = 0; 310 retval++; 311 } else { 312 slice_num++; 313 } 318 314 } else { 319 slice_num++;315 log_it("Unable to open bigfile as restore_path is NULL"); 320 316 } 321 317 } else if (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, "")) && … … 327 323 slice_num = 0; 328 324 } else { 329 log_msg(2, "ISO=%d bigfile=%ld slice=%ld", 330 g_current_media_number, bigfile_num, slice_num); 331 if (!does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) { 325 log_msg(2, "ISO=%d bigfile=%ld slice=%ld", g_current_media_number, bigfile_num, slice_num); 326 if ((!does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) && (sz_exe != NULL)) { 332 327 mr_asprintf(command, "%s -dc %s 2>> %s", sz_exe, slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix), MONDO_LOGFILE); 333 328 } else { … … 376 371 } 377 372 mr_free(mountpoint); 373 mr_free(sz_exe); 374 378 375 last_bigfile_num = bigfile_num; 379 376 last_slice_num = slice_num - 1; … … 388 385 paranoid_free(bufblkB); 389 386 } 390 paranoid_free(sz_exe);391 387 return (0); 392 388 } … … 435 431 mr_free(bkpinfo->zip_exe); 436 432 mr_asprintf(bkpinfo->zip_exe, "lzop"); 437 strcpy(bkpinfo->zip_suffix, "lzo"); 433 mr_free(bkpinfo->zip_suffix); 434 mr_asprintf(bkpinfo->zip_suffix, "lzo"); 438 435 bkpinfo->use_lzo = TRUE; 439 436 bkpinfo->use_gzip = FALSE; … … 443 440 mr_free(bkpinfo->zip_exe); 444 441 mr_asprintf(bkpinfo->zip_exe, "gzip"); 445 strcpy(bkpinfo->zip_suffix, "gz"); 442 mr_free(bkpinfo->zip_suffix); 443 mr_asprintf(bkpinfo->zip_suffix, "gz"); 446 444 bkpinfo->use_lzo = FALSE; 447 445 bkpinfo->use_gzip = TRUE; … … 451 449 mr_free(bkpinfo->zip_exe); 452 450 mr_asprintf(bkpinfo->zip_exe, "bzip2"); 453 strcpy(bkpinfo->zip_suffix, "bz2"); 451 mr_free(bkpinfo->zip_suffix); 452 mr_asprintf(bkpinfo->zip_suffix, "bz2"); 454 453 bkpinfo->use_lzo = FALSE; 455 454 bkpinfo->use_gzip = FALSE; 455 } 456 if (bkpinfo->zip_exe == NULL) { 457 mr_asprintf(bkpinfo->zip_exe, "none"); 458 } 459 if (bkpinfo->zip_suffix == NULL) { 460 mr_asprintf(bkpinfo->zip_suffix, ""); 456 461 } 457 462 unlink(outlog); … … 686 691 * Verify all afioballs from the opened tape/CD stream. 687 692 * @param bkpinfo The backup information structure. Fields used: 688 * - @c bkpinfo->restore_path689 693 * - @c bkpinfo->tmpdir 690 694 * … … 880 884 mr_free(comment); 881 885 882 mr_asprintf(logical_fname, "%s/%s", bkpinfo->restore_path, orig_fname); 883 res = verify_a_biggiefile_from_stream(logical_fname, size); 884 mr_free(logical_fname); 885 886 retval += res; 886 if (bkpinfo->restore_path) { 887 mr_asprintf(logical_fname, "%s/%s", bkpinfo->restore_path, orig_fname); 888 res = verify_a_biggiefile_from_stream(logical_fname, size); 889 mr_free(logical_fname); 890 retval += res; 891 } else { 892 log_it("Unable to verify bigfile as restore_path is NULL"); 893 } 894 887 895 current_biggiefile_number++; 888 896 g_current_progress++; -
branches/2.2.10/mondo/src/common/mondostructures.h
r2326 r2327 382 382 * bz2, gzip uses gz, etc. Do not include the dot. 383 383 */ 384 char zip_suffix[MAX_STR_LEN / 4];384 char *zip_suffix; 385 385 386 386 /** … … 397 397 * This is a useful feature, but use at your own risk. 398 398 */ 399 char image_devs[MAX_STR_LEN / 4];399 char *image_devs; 400 400 401 401 /** … … 519 519 * without overwriting the old ones. Ignored during a backup. 520 520 */ 521 char restore_path[MAX_STR_LEN];521 char *restore_path; 522 522 523 523 /**
Note:
See TracChangeset
for help on using the changeset viewer.