Commit Diff


commit - c006e984192aa8bcb755bdd25e111bb37b5db16b
commit + d67dc856d17c2e0491edccc20de8757ab4d59641
blob - 70ea8e0e452287ef5c7f5bfaf2dc1f49344e6e78
blob + 934fba9d98f6c38da4bd590d8cf508737beefe79
--- src/cmd/tar.c
+++ src/cmd/tar.c
@@ -423,7 +423,7 @@ isustar(Hdr *hp)
  * be NUL.
  */
 static int
-sstrnlen(char *s, int n)
+tar_sstrnlen(char *s, int n)
 {
 	return s[n - 1] != '\0'? n: strlen(s);
 }
@@ -437,7 +437,7 @@ name(Hdr *hp)
 	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';
@@ -445,7 +445,7 @@ name(Hdr *hp)
 	}
 
 	/* 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);
@@ -539,8 +539,8 @@ readhdr(int ar)
 		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;
 }