commit 590f34c4a9a4dd41becb8868240f3c3151ae3f93
parent 9d95321f0b3e200b0766ea7635a32ed29e76934a
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 10 May 2015 11:13:25 +0200
tar: compatibility, treat reserved type as regular file
References:
- http://www.gnu.org/software/tar/manual/html_node/Standard.html
- http://pubs.opengroup.org/onlinepubs/009695399/basedefs/tar.h.html
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tar.c b/tar.c
@@ -32,7 +32,8 @@ enum Type {
CHARDEV = '3',
BLOCKDEV = '4',
DIRECTORY = '5',
- FIFO = '6'
+ FIFO = '6',
+ RESERVED = '7'
};
struct header {
@@ -273,6 +274,7 @@ unarchive(char *fname, ssize_t l, char b[BLKSIZ])
switch (h->type) {
case REG:
case AREG:
+ case RESERVED:
if ((mode = strtol(h->mode, &p, 8)) < 0 || *p != '\0')
eprintf("strtol %s: invalid number\n", h->mode);
fd = open(fname, O_WRONLY | O_TRUNC | O_CREAT, 0644);