X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fcompare.c;h=c23601d97e400a26dd3658b3019d6d6ece10d3fa;hb=8dd9a2105e18f54fe017fa5812e300eb2925a49b;hp=5445ac07257698c4cace1435d3bdf424969f85b0;hpb=aa976a517088ba75fa0168b47803b3988f89c9c3;p=chaz%2Ftar diff --git a/src/compare.c b/src/compare.c index 5445ac0..c23601d 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 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Written by John Gilmore, on 1987-04-30. @@ -20,6 +20,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include +#include #if HAVE_LINUX_FD_H # include @@ -52,14 +53,13 @@ diff_init (void) /* Sigh about something that differs by writing a MESSAGE to stdlis, given MESSAGE is nonzero. Also set the exit status if not already. */ void -report_difference (struct tar_stat_info *st __attribute__ ((unused)), - const char *fmt, ...) +report_difference (struct tar_stat_info *st, const char *fmt, ...) { if (fmt) { va_list ap; - fprintf (stdlis, "%s: ", quotearg_colon (current_stat_info.file_name)); + fprintf (stdlis, "%s: ", quotearg_colon (st->file_name)); va_start (ap, fmt); vfprintf (stdlis, fmt, ap); va_end (ap); @@ -139,7 +139,7 @@ read_and_process (struct tar_stat_info *st, int (*processor) (size_t, char *)) union block *data_block; size_t data_size; size_t size = st->stat.st_size; - + mv_begin (st); while (size) { @@ -224,7 +224,7 @@ diff_file (void) if (!sys_compare_gid (&stat_data, ¤t_stat_info.stat)) report_difference (¤t_stat_info, _("Gid differs")); - if (tar_timespec_cmp (get_stat_mtime (&stat_data), + if (tar_timespec_cmp (get_stat_mtime (&stat_data), current_stat_info.mtime)) report_difference (¤t_stat_info, _("Mod time differs")); if (current_header->header.typeflag != GNUTYPE_SPARSE @@ -423,7 +423,7 @@ diff_multivol (void) } read_and_process (¤t_stat_info, process_rawdata); - + status = close (fd); if (status != 0) close_error (current_stat_info.file_name);