X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fcompare.c;h=f4e92da58f0fa6cf81825ba9c09fa2f502700522;hb=c3fa22fc8023ad21ad32b13f934c3324756c9236;hp=57732cccaa7fdadf51c872019252002ace7457e7;hpb=2b1bffbad66faab91c3b080b63788d910f68632d;p=chaz%2Ftar diff --git a/src/compare.c b/src/compare.c index 57732cc..f4e92da 100644 --- a/src/compare.c +++ b/src/compare.c @@ -1,7 +1,7 @@ /* Diff files from a tar archive. Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. Written by John Gilmore, on 1987-04-30. @@ -66,8 +66,7 @@ report_difference (struct tar_stat_info *st, const char *fmt, ...) fprintf (stdlis, "\n"); } - if (exit_status == TAREXIT_SUCCESS) - exit_status = TAREXIT_DIFFERS; + set_exit_status (TAREXIT_DIFFERS); } /* Take a buffer returned by read_and_process and do nothing with it. */ @@ -461,7 +460,7 @@ diff_archive (void) { if (now_verifying) fprintf (stdlis, _("Verify ")); - print_header (¤t_stat_info, -1); + print_header (¤t_stat_info, current_header, -1); } switch (current_header->header.typeflag) @@ -579,7 +578,9 @@ verify_volume (void) flush_read (); while (1) { - enum read_header status = read_header (false); + enum read_header status = read_header (¤t_header, + ¤t_stat_info, + read_header_auto); if (status == HEADER_FAILURE) { @@ -589,7 +590,8 @@ verify_volume (void) { counter++; set_next_block_after (current_header); - status = read_header (false); + status = read_header (¤t_header, ¤t_stat_info, + read_header_auto); } while (status == HEADER_FAILURE); @@ -607,7 +609,8 @@ verify_volume (void) { char buf[UINTMAX_STRSIZE_BOUND]; - status = read_header (false); + status = read_header (¤t_header, ¤t_stat_info, + read_header_auto); if (status == HEADER_ZERO_BLOCK) break; WARNOPT (WARN_ALONE_ZERO_BLOCK,