Changeset 2327 in MondoRescue for branches/2.2.10/mondo/src/common/libmondo-verify.c
- Timestamp:
- Aug 18, 2009, 3:20:37 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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++;
Note:
See TracChangeset
for help on using the changeset viewer.