/* FIXME: Grab fractional time stamps from
extended header. */
mtime.tv_nsec = 0,
- set_stat_mtime (¤t_stat_info.stat, mtime),
- OLDER_STAT_TIME (current_stat_info.stat, m)))
+ current_stat_info.mtime = mtime,
+ OLDER_TAR_STAT_TIME (current_stat_info, m)))
|| excluded_name (current_stat_info.file_name))
{
switch (current_header->header.typeflag)
decode_header (current_header, ¤t_stat_info, ¤t_format, 0);
if (verbose_option)
print_header (¤t_stat_info, -1);
-
+
if (incremental_option && current_header->header.typeflag == GNUTYPE_DUMPDIR)
{
off_t size;
written = available_space_after (data_block);
if (written > size)
written = size;
- errno = 0;
- check = fwrite (data_block->buffer, sizeof (char), written, stdlis);
set_next_block_after ((union block *)
(data_block->buffer + written - 1));
- if (check != written)
- {
- write_error_details (current_stat_info.file_name, check, written);
- skip_file (size - written);
- break;
- }
+ if (verbose_option > 2)
+ list_dumpdir (data_block->buffer, written);
}
if (multi_volume_option)
assign_string (&save_name, 0);
- fputc ('\n', stdlis);
- fflush (stdlis);
- return;
+ return;
}
if (multi_volume_option)
enum archive_format *format_pointer, int do_user_group)
{
enum archive_format format;
- struct timespec atime;
- struct timespec ctime;
- struct timespec mtime;
if (strcmp (header->header.magic, TMAGIC) == 0)
{
*format_pointer = format;
stat_info->stat.st_mode = MODE_FROM_HEADER (header->header.mode);
- mtime.tv_sec = TIME_FROM_HEADER (header->header.mtime);
- mtime.tv_nsec = 0;
- set_stat_mtime (&stat_info->stat, mtime);
+ stat_info->mtime.tv_sec = TIME_FROM_HEADER (header->header.mtime);
+ stat_info->mtime.tv_nsec = 0;
assign_string (&stat_info->uname,
header->header.uname[0] ? header->header.uname : NULL);
assign_string (&stat_info->gname,
if (format == OLDGNU_FORMAT && incremental_option)
{
- atime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.atime);
- ctime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.ctime);
- atime.tv_nsec = ctime.tv_nsec = 0;
+ stat_info->atime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.atime);
+ stat_info->ctime.tv_sec = TIME_FROM_HEADER (header->oldgnu_header.ctime);
+ stat_info->atime.tv_nsec = stat_info->ctime.tv_nsec = 0;
}
else if (format == STAR_FORMAT)
{
- atime.tv_sec = TIME_FROM_HEADER (header->star_header.atime);
- ctime.tv_sec = TIME_FROM_HEADER (header->star_header.ctime);
- atime.tv_nsec = ctime.tv_nsec = 0;
+ stat_info->atime.tv_sec = TIME_FROM_HEADER (header->star_header.atime);
+ stat_info->ctime.tv_sec = TIME_FROM_HEADER (header->star_header.ctime);
+ stat_info->atime.tv_nsec = stat_info->ctime.tv_nsec = 0;
}
else
- atime = ctime = start_time;
-
- set_stat_atime (&stat_info->stat, atime);
- set_stat_ctime (&stat_info->stat, ctime);
+ stat_info->atime = stat_info->ctime = start_time;
if (format == V7_FORMAT)
{
int pad;
int sizelen;
+ if (test_label_option && current_header->header.typeflag != GNUTYPE_VOLHDR)
+ return;
+
+ if (show_stored_names_option)
+ {
+ switch (subcommand_option)
+ {
+ case CAT_SUBCOMMAND:
+ case UPDATE_SUBCOMMAND:
+ case APPEND_SUBCOMMAND:
+ case CREATE_SUBCOMMAND:
+ temp_name = st->file_name ? st->file_name : st->orig_file_name;
+ break;
+
+ default:
+ temp_name = st->orig_file_name ? st->orig_file_name : st->file_name;
+ }
+ }
+ else
+ temp_name = st->orig_file_name ? st->orig_file_name : st->file_name;
+
if (block_number_option)
{
char buf[UINTMAX_STRSIZE_BOUND];
/* Time stamp. */
- time_stamp = tartime (get_stat_mtime (&st->stat), false);
+ time_stamp = tartime (st->mtime, false);
time_stamp_len = strlen (time_stamp);
if (datewidth < time_stamp_len)
datewidth = time_stamp_len;