diff options
Diffstat (limited to 'archivers/gcpio/patches/patch-af')
-rw-r--r-- | archivers/gcpio/patches/patch-af | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/archivers/gcpio/patches/patch-af b/archivers/gcpio/patches/patch-af new file mode 100644 index 00000000000..657aa223828 --- /dev/null +++ b/archivers/gcpio/patches/patch-af @@ -0,0 +1,45 @@ +$NetBSD: patch-af,v 1.1 2004/06/06 21:29:33 minskim Exp $ + +--- tar.c.orig 2004-03-15 19:58:03.504727318 +0100 ++++ tar.c 2004-03-15 19:59:41.803936327 +0100 +@@ -27,6 +27,7 @@ + #include "tarhdr.h" + + static void to_oct (); ++static void to_oct_no_nul (); + static char *stash_tar_linkname (); + static char *stash_tar_filename (); + +@@ -97,8 +98,8 @@ + to_oct (file_hdr->c_mode, 8, tar_hdr->mode); + to_oct (file_hdr->c_uid, 8, tar_hdr->uid); + to_oct (file_hdr->c_gid, 8, tar_hdr->gid); +- to_oct (file_hdr->c_filesize, 12, tar_hdr->size); +- to_oct (file_hdr->c_mtime, 12, tar_hdr->mtime); ++ to_oct_no_nul (file_hdr->c_filesize, 12, tar_hdr->size); ++ to_oct_no_nul (file_hdr->c_mtime, 12, tar_hdr->mtime); + + switch (file_hdr->c_mode & CP_IFMT) + { +@@ -446,6 +447,21 @@ + where[--digits] = ' '; + } + ++/* Convert a number into a string of octal digits. ++ Convert long VALUE into a DIGITS-digit field at WHERE, ++ including a trailing space. DIGITS==2 means ++ 1 digit, and a space. ++*/ ++ ++static void ++to_oct_no_nul (value, digits, where) ++ register long value; ++ register int digits; ++ register char *where; ++{ ++ to_oct (value, digits + 1, where); ++} ++ + /* Return + 2 if BUF is a valid POSIX tar header (the checksum is correct + and it has the "ustar" magic string), |