dav/tar.c

changeset 344
72791e299d64
parent 336
6331271116d0
child 351
11789a88d0b0
--- a/dav/tar.c	Sun Dec 03 13:09:14 2017 +0100
+++ b/dav/tar.c	Wed Dec 13 19:48:44 2017 +0100
@@ -93,18 +93,18 @@
     // name
     memcpy(h.name, name.ptr, name.length);
     // mode
-    snprintf(h.mode, 8, "%0.7o", mode);
+    snprintf(h.mode, 8, "%07o", mode);
     h.mode[7] = ' ';
     // uid/gid
     memset(h.uid, '0', 16);
     h.uid[7] = ' ';
     h.gid[7] = ' ';
     // size
-    snprintf(h.size, 12, "%0.11lo", size);
+    snprintf(h.size, 12, "%011lo", size);
     h.size[11] = ' ';
     // mtime
     uint64_t t = (uint64_t)mtime;
-    snprintf(h.mtime, 12, "%0.11lo", mtime);
+    snprintf(h.mtime, 12, "%011lo", mtime);
     h.mtime[11] = ' ';
     // chksum
     memset(h.chksum, ' ', 8);
@@ -118,7 +118,7 @@
     h.version[1] = '0';
     // uname/gname - zero
     // devmajor/devminor
-    snprintf(h.devmajor, 16, "%0.15o", 0);
+    snprintf(h.devmajor, 16, "%015o", 0);
     h.devmajor[7] = ' ';
     h.devminor[7] = ' ';
     // prefix
@@ -130,7 +130,7 @@
     for(int i=0;i<512;i++) {
         chksum += header[i];
     }
-    snprintf(h.chksum, 8, "%0.7o", chksum);
+    snprintf(h.chksum, 8, "%07o", chksum);
     
     fwrite(&h, 1, 512, tar->file);
     

mercurial