commit - c006e984192aa8bcb755bdd25e111bb37b5db16b
commit + d67dc856d17c2e0491edccc20de8757ab4d59641
blob - 70ea8e0e452287ef5c7f5bfaf2dc1f49344e6e78
blob + 934fba9d98f6c38da4bd590d8cf508737beefe79
--- src/cmd/tar.c
+++ src/cmd/tar.c
* be NUL.
*/
static int
-sstrnlen(char *s, int n)
+tar_sstrnlen(char *s, int n)
{
return s[n - 1] != '\0'? n: strlen(s);
}
char *fullname;
fullname = fullnamebuf+2;
- namlen = sstrnlen(hp->name, sizeof hp->name);
+ namlen = tar_sstrnlen(hp->name, sizeof hp->name);
if (hp->prefix[0] == '\0' || !isustar(hp)) { /* old-style name? */
memmove(fullname, hp->name, namlen);
fullname[namlen] = '\0';
}
/* name is in two pieces */
- pfxlen = sstrnlen(hp->prefix, sizeof hp->prefix);
+ pfxlen = tar_sstrnlen(hp->prefix, sizeof hp->prefix);
memmove(fullname, hp->prefix, pfxlen);
fullname[pfxlen] = '/';
memmove(fullname + pfxlen + 1, hp->name, namlen);
return nil;
hdrcksum = strtoul(hp->chksum, nil, 8);
if (chksum(hp) != hdrcksum)
- sysfatal("bad archive header checksum: name %.64s...",
- hp->name);
+ sysfatal("bad archive header checksum: name %.64s... %ld %ld",
+ hp->name, chksum(hp), hdrcksum);
nexthdr += Tblock*(1 + BYTES2TBLKS(arsize(hp)));
return hp;
}