aboutsummaryrefslogtreecommitdiff
path: root/toys
diff options
context:
space:
mode:
Diffstat (limited to 'toys')
-rw-r--r--toys/pending/tar.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/toys/pending/tar.c b/toys/pending/tar.c
index 7cad2729..bff8b540 100644
--- a/toys/pending/tar.c
+++ b/toys/pending/tar.c
@@ -121,7 +121,6 @@ static void write_longname(char *name, char type)
memset(&tmp, 0, sizeof(tmp));
strcpy(tmp.name, "././@LongLink");
- ITOO(tmp.mode, 0);
ITOO(tmp.uid, 0);
ITOO(tmp.gid, 0);
ITOO(tmp.size, sz);
@@ -129,6 +128,11 @@ static void write_longname(char *name, char type)
tmp.type = type;
strcpy(tmp.magic, "ustar ");
+ // Historical nonsense to match other implementations. Never used.
+ ITOO(tmp.mode, 0644);
+ strcpy(tmp.uname, "root");
+ strcpy(tmp.gname, "root");
+
// Calculate checksum. Since 512*255 = 0377000 in octal, this can never
// use more than 6 digits. The last byte is ' ' or historical reasons.
itoo(tmp.chksum, sizeof(tmp.chksum)-1, cksum(&tmp));