case HEADER_ZERO_BLOCK:
case HEADER_SUCCESS:
+ if (block_number_option)
+ {
+ char buf[UINTMAX_STRSIZE_BOUND];
+ off_t block_ordinal = current_block_ordinal ();
+ block_ordinal -= recent_long_name_blocks;
+ block_ordinal -= recent_long_link_blocks;
+ fprintf (stdlis, _("block %s: "),
+ STRINGIFY_BIGINT (block_ordinal, buf));
+ }
ERROR ((0, 0, _("Skipping to next header")));
break;
/* Print a similar line when we make a directory automatically. */
void
-print_for_mkdir (char *pathname, int length, mode_t mode)
+print_for_mkdir (char *dirname, int length, mode_t mode)
{
char modes[11];
}
fprintf (stdlis, "%s %*s %.*s\n", modes, ugswidth + DATEWIDTH,
- _("Creating directory:"), length, quotearg (pathname));
+ _("Creating directory:"), length, quotearg (dirname));
}
}
save_sizeleft = size;
}
+ if (seekable_archive)
+ {
+ off_t nblk = seek_archive (size);
+ if (nblk >= 0)
+ {
+ size -= nblk * BLOCKSIZE;
+ if (multi_volume_option) /* Argh.. */
+ save_sizeleft -= nblk * BLOCKSIZE;
+ }
+ else
+ seekable_archive = false;
+ }
+
while (size > 0)
{
x = find_next_block ();