X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=blobdiff_plain;f=src%2Fcompare.c;h=d29cfdd4822f683dec5c7dfb8dc01544c62330ce;hp=407fd4016952a7eed858092f19f257c5e82d50fc;hb=45ccda119355a1087450039a250359c1d0de0d08;hpb=cd7bdd4076ca154575bbef85eb2157e59befcfe2 diff --git a/src/compare.c b/src/compare.c index 407fd40..d29cfdd 100644 --- a/src/compare.c +++ b/src/compare.c @@ -1,7 +1,7 @@ /* Diff files from a tar archive. Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2007, - 2009-2010, 2012-2013 Free Software Foundation, Inc. + 2009-2010, 2012-2014 Free Software Foundation, Inc. This file is part of GNU tar. @@ -371,7 +371,10 @@ diff_dumpdir (struct tar_stat_info *dir) if (fd < 0) diag = open_diag; else if (fstat (fd, &dir->stat)) - diag = stat_diag; + { + diag = stat_diag; + close (fd); + } else dir->fd = fd; if (diag) @@ -439,10 +442,9 @@ diff_multivol (void) { seek_error_details (current_stat_info.file_name, offset); report_difference (¤t_stat_info, NULL); - return; } - - read_and_process (¤t_stat_info, process_rawdata); + else + read_and_process (¤t_stat_info, process_rawdata); status = close (fd); if (status != 0)