/* Update a tar archive.
- Copyright 1988, 1992, 1994, 1996, 1997, 1999 Free Software Foundation, Inc.
+ Copyright 1988, 92, 94, 96, 97, 99, 2000 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
first part of the record. */
char *output_start;
-/*------------------------------------------------------------------------.
-| Catenate file PATH to the archive without creating a header for it. It |
-| had better be a tar file or the archive is screwed. |
-`------------------------------------------------------------------------*/
-
+/* Catenate file PATH to the archive without creating a header for it.
+ It had better be a tar file or the archive is screwed. */
static void
append_file (char *path)
{
status = safe_read (handle, start->buffer, buffer_size);
if (status < 0)
- {
- int e = errno;
- FATAL_ERROR ((0, e,
- _("Read error at byte %s reading %lu bytes in file %s"),
- STRINGIFY_BIGINT (stat_data.st_size - bytes_left,
- buf),
- (unsigned long) buffer_size, quote (path)));
- }
+ read_fatal_details (path, stat_data.st_size - bytes_left,
+ buffer_size);
if (status == 0)
- FATAL_ERROR ((0, 0, _("%s: File shrunk by %s bytes, (yark!)"),
+ FATAL_ERROR ((0, 0, _("%s: File shrank by %s bytes"),
quotearg_colon (path),
STRINGIFY_BIGINT (bytes_left, buf)));
close_error (path);
}
-/*-----------------------------------------------------------------------.
-| Implement the 'r' (add files to end of archive), and 'u' (add files to |
-| end of archive if they arent there, or are more up to date than the |
-| version in the archive.) commands. |
-`-----------------------------------------------------------------------*/
-
+/* Implement the 'r' (add files to end of archive), and 'u' (add files
+ to end of archive if they aren't there, or are more up to date than
+ the version in the archive) commands. */
void
update_archive (void)
{
&& s.st_mtime <= current_stat.st_mtime)
add_avoided_name (current_file_name);
}
- set_next_block_after (current_header);
- if (current_header->oldgnu_header.isextended)
- skip_extended_headers ();
- skip_file (current_stat.st_size);
+ skip_member ();
break;
}