X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fxheader.c;h=42656bfd2508f2b138b2c29b93e9394c7e4b75f6;hb=57b11473b0135b1e092cf045f94635c934c7c63f;hp=724837f6171ee2582ad1cab5aa1a028b10ac1d9d;hpb=166b7c7d028c3dbcfded5c834b9bf752d2fb41f0;p=chaz%2Ftar diff --git a/src/xheader.c b/src/xheader.c index 724837f..42656bf 100644 --- a/src/xheader.c +++ b/src/xheader.c @@ -26,6 +26,7 @@ #include "common.h" +static void xheader_init (struct xheader *xhdr); static bool xheader_protected_pattern_p (char const *pattern); static bool xheader_protected_keyword_p (char const *keyword); static void xheader_set_single_keyword (char *) __attribute__ ((noreturn)); @@ -452,7 +453,7 @@ xheader_write_global (struct xheader *xhdr) if (xhdr->stk) { char *name; - + xheader_finish (xhdr); xheader_write (XGLTYPE, name = xheader_ghdr_name (), time (NULL), xhdr); free (name); @@ -661,7 +662,7 @@ xheader_decode_global (struct xheader *xhdr) } } -void +static void xheader_init (struct xheader *xhdr) { if (!xhdr->stk) @@ -694,7 +695,6 @@ xheader_read (struct xheader *xhdr, union block *p, size_t size) { size_t j = 0; - xheader_init (xhdr); size += BLOCKSIZE; xhdr->size = size; xhdr->buffer = xmalloc (size + 1); @@ -709,7 +709,7 @@ xheader_read (struct xheader *xhdr, union block *p, size_t size) if (!p) FATAL_ERROR ((0, 0, _("Unexpected EOF in archive"))); - + memcpy (&xhdr->buffer[j], p->buffer, len); set_next_block_after (p);