From 590f34c4a9a4dd41becb8868240f3c3151ae3f93 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sun, 10 May 2015 11:13:25 +0200 Subject: [PATCH] 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 --- tar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tar.c b/tar.c index 6c9bcfc..8dbce22 100644 --- 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);