X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fxheader.c;h=70d287c05c58f264807f6f0216ff16a7e8ec553e;hb=07902e9f9a7e874d8b609ae0b62dfef1b9875eee;hp=2948859ab076180a69f36807dca282d841409d05;hpb=e359fad6413c3fbff4d862e535c6e78e92d6d44e;p=chaz%2Ftar diff --git a/src/xheader.c b/src/xheader.c index 2948859..70d287c 100644 --- a/src/xheader.c +++ b/src/xheader.c @@ -264,7 +264,7 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n) case 'f': if (st) { - base = base_name (st->orig_file_name); + base = last_component (st->orig_file_name); len += strlen (base) - 2; } break; @@ -647,12 +647,10 @@ void xheader_read (union block *p, size_t size) { size_t j = 0; - size_t nblocks; free (extended_header.buffer); size += BLOCKSIZE; extended_header.size = size; - nblocks = (size + BLOCKSIZE - 1) / BLOCKSIZE; extended_header.buffer = xmalloc (size + 1); extended_header.buffer[size] = '\0'; @@ -1094,9 +1092,10 @@ ctime_decoder (struct tar_stat_info *st, static void mtime_coder (struct tar_stat_info const *st, char const *keyword, - struct xheader *xhdr, void const *data __attribute__ ((unused))) + struct xheader *xhdr, void const *data) { - code_time (st->mtime, keyword, xhdr); + const struct timespec mtime = data ? *(struct timespec *) data : st->mtime; + code_time (mtime, keyword, xhdr); } static void