diff --git a/src/bin/pg_dump/pg_backup_files.c b/src/bin/pg_dump/pg_backup_files.c
index b471da6f4ca5110dd338075ba5b65af6a68fb93a..4bbc915e2e5bc006d4859ef1a2c547db196bbb66 100644
--- a/src/bin/pg_dump/pg_backup_files.c
+++ b/src/bin/pg_dump/pg_backup_files.c
@@ -20,7 +20,7 @@
  *
  *
  * IDENTIFICATION
- *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_files.c,v 1.18 2002/09/04 20:31:34 momjian Exp $
+ *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_files.c,v 1.19 2002/09/10 18:25:13 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -413,7 +413,7 @@ _WriteBuf(ArchiveHandle *AH, const void *buf, size_t len)
 
 	res = fwrite(buf, 1, len, AH->FH);
 	if (res != len)
-		die_horribly(AH, modulename, "write error in _WriteBuf (%d != %d)\n", res, len);
+		die_horribly(AH, modulename, "write error in _WriteBuf (%lu != %lu)\n", (unsigned long) res, (unsigned long) len);
 
 	ctx->filePos += res;
 	return res;
diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c
index 37feef179f007ea77aa59bc23381388c7dac7db4..42cac59c32901551da0bf8993c1bf82a855ef4b2 100644
--- a/src/bin/pg_dump/pg_backup_tar.c
+++ b/src/bin/pg_dump/pg_backup_tar.c
@@ -16,7 +16,7 @@
  *
  *
  * IDENTIFICATION
- *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.c,v 1.29 2002/09/06 21:58:36 petere Exp $
+ *		$Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_tar.c,v 1.30 2002/09/10 18:22:20 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1147,6 +1147,7 @@ _tarGetHeader(ArchiveHandle *AH, TAR_MEMBER *th)
 	int			sum,
 				chk;
 	size_t		len;
+	unsigned long	ullen;
 	off_t		hPos;
 	int			i;
 	bool		gotBlock = false;
@@ -1203,8 +1204,9 @@ _tarGetHeader(ArchiveHandle *AH, TAR_MEMBER *th)
 		}
 	}
 
-	sscanf(&h[0], "%99s", &tag[0]);
-	sscanf(&h[124], "%12o", &len);
+	sscanf(&h[0], "%99s", tag);
+	sscanf(&h[124], "%12lo", &ullen);
+	len = (size_t) ullen;
 	sscanf(&h[148], "%8o", &sum);
 
 	{
@@ -1212,7 +1214,7 @@ _tarGetHeader(ArchiveHandle *AH, TAR_MEMBER *th)
 
 		snprintf(buf, 100, INT64_FORMAT, (int64) hPos);
 		ahlog(AH, 3, "TOC Entry %s at %s (length %lu, checksum %d)\n",
-			  &tag[0], buf, (unsigned long) len, sum);
+			  tag, buf, (unsigned long) len, sum);
 	}
 
 	if (chk != sum)
@@ -1223,7 +1225,7 @@ _tarGetHeader(ArchiveHandle *AH, TAR_MEMBER *th)
 		die_horribly(AH, modulename,
 					 "corrupt tar header found in %s "
 					 "(expected %d, computed %d) file position %s\n",
-					 &tag[0], sum, chk, buf);
+					 tag, sum, chk, buf);
 	}
 
 	th->targetFile = strdup(tag);