From 87e76d0d4aa233a78e335fa7730da51862d0f9a8 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 10 Sep 2002 18:25:13 +0000
Subject: [PATCH] Fix portability problem (size_t != int).

---
 src/bin/pg_dump/pg_backup_files.c |  4 ++--
 src/bin/pg_dump/pg_backup_tar.c   | 12 +++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/bin/pg_dump/pg_backup_files.c b/src/bin/pg_dump/pg_backup_files.c
index b471da6f4ca..4bbc915e2e5 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 37feef179f0..42cac59c329 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);
-- 
GitLab