X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fupdate.c;h=ade42830f1395798c2fb94fba992a221fe806a85;hb=2947023d277cb0a787c73721d6190a75444cd65f;hp=f28c6dc3f3ca0a7e9c9c39852689fe03161607a2;hpb=3209329337c87a102fa12d7eb60a3df323ba56c1;p=chaz%2Ftar diff --git a/src/update.c b/src/update.c index f28c6dc..ade4283 100644 --- a/src/update.c +++ b/src/update.c @@ -1,11 +1,11 @@ /* Update a tar archive. Copyright (C) 1988, 1992, 1994, 1996, 1997, 1999, 2000, 2001, 2003, - 2004 Free Software Foundation, Inc. + 2004, 2005, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but @@ -110,7 +110,7 @@ update_archive (void) name_gather (); open_archive (ACCESS_UPDATE); - xheader_write_global (); + buffer_write_global_xheader (); while (!found_end) { @@ -138,8 +138,8 @@ update_archive (void) chdir_do (name->change_dir); if (deref_stat (dereference_option, current_stat_info.file_name, &s) == 0 - && (timespec_cmp (get_stat_mtime (&s), - current_stat_info.mtime) + && (tar_timespec_cmp (get_stat_mtime (&s), + current_stat_info.mtime) <= 0)) add_avoided_name (current_stat_info.file_name); } @@ -181,7 +181,6 @@ update_archive (void) } tar_stat_destroy (¤t_stat_info); - xheader_destroy (&extended_header); previous_status = status; } @@ -190,10 +189,10 @@ update_archive (void) output_start = current_block->buffer; { - char *file_name; - - while ((file_name = name_from_list ()) != NULL) + struct name const *p; + while ((p = name_from_list ()) != NULL) { + char *file_name = p->name; if (excluded_name (file_name)) continue; if (interactive_option && !confirm ("add", file_name))