[PATCH] vcs-svn: Fix some printf format compiler warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In particular, on systems that define uint32_t as an unsigned long,
gcc complains as follows:

    CC vcs-svn/fast_export.o
vcs-svn/fast_export.c: In function `fast_export_modify':
vcs-svn/fast_export.c:28: warning: unsigned int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:28: warning: int format, uint32_t arg (arg 3)
vcs-svn/fast_export.c: In function `fast_export_commit':
vcs-svn/fast_export.c:42: warning: int format, uint32_t arg (arg 5)
vcs-svn/fast_export.c:62: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c: In function `fast_export_blob':
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 2)
vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 3)
    CC vcs-svn/svndump.o
vcs-svn/svndump.c: In function `svndump_read':
vcs-svn/svndump.c:260: warning: int format, uint32_t arg (arg 3)

In order to suppress the warnings we use the C99 format specifier
macros PRIo32 and PRIu32 from <inttypes.h>.

Signed-off-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx>
---

The addition to git-compat-util.h is required in order to not break
the build on both MinGW and MSVC; there are other (better?) ways to
fix this, but this was simple and seems to be in keeping with the
current code.

ATB,
Ramsay Jones

 git-compat-util.h     |    4 ++++
 vcs-svn/fast_export.c |    9 +++++----
 vcs-svn/svndump.c     |    2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/git-compat-util.h b/git-compat-util.h
index 877096e..81883e7 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -160,6 +160,10 @@ extern char *gitbasename(char *);
 #define PRIx32 "x"
 #endif
 
+#ifndef PRIo32
+#define PRIo32 "o"
+#endif
+
 #ifndef PATH_SEP
 #define PATH_SEP ':'
 #endif
diff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c
index 256a052..6cfa256 100644
--- a/vcs-svn/fast_export.c
+++ b/vcs-svn/fast_export.c
@@ -25,7 +25,7 @@ void fast_export_modify(uint32_t depth, uint32_t *path, uint32_t mode,
 			uint32_t mark)
 {
 	/* Mode must be 100644, 100755, 120000, or 160000. */
-	printf("M %06o :%d ", mode, mark);
+	printf("M %06"PRIo32" :%"PRIu32" ", mode, mark);
 	pool_print_seq(depth, path, '/', stdout);
 	putchar('\n');
 }
@@ -38,7 +38,8 @@ void fast_export_commit(uint32_t revision, uint32_t author, char *log,
 	if (!log)
 		log = "";
 	if (~uuid && ~url) {
-		snprintf(gitsvnline, MAX_GITSVN_LINE_LEN, "\n\ngit-svn-id: %s@%d %s\n",
+		snprintf(gitsvnline, MAX_GITSVN_LINE_LEN,
+				"\n\ngit-svn-id: %s@%"PRIu32" %s\n",
 				 pool_fetch(url), revision, pool_fetch(uuid));
 	} else {
 		*gitsvnline = '\0';
@@ -59,7 +60,7 @@ void fast_export_commit(uint32_t revision, uint32_t author, char *log,
 	repo_diff(revision - 1, revision);
 	fputc('\n', stdout);
 
-	printf("progress Imported commit %d.\n\n", revision);
+	printf("progress Imported commit %"PRIu32".\n\n", revision);
 }
 
 void fast_export_blob(uint32_t mode, uint32_t mark, uint32_t len)
@@ -69,7 +70,7 @@ void fast_export_blob(uint32_t mode, uint32_t mark, uint32_t len)
 		buffer_skip_bytes(5);
 		len -= 5;
 	}
-	printf("blob\nmark :%d\ndata %d\n", mark, len);
+	printf("blob\nmark :%"PRIu32"\ndata %"PRIu32"\n", mark, len);
 	buffer_copy_bytes(len);
 	fputc('\n', stdout);
 }
diff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c
index 630eeb5..53d0215 100644
--- a/vcs-svn/svndump.c
+++ b/vcs-svn/svndump.c
@@ -257,7 +257,7 @@ void svndump_read(const char *url)
 				handle_node();
 				active_ctx = REV_CTX;
 			} else {
-				fprintf(stderr, "Unexpected content length header: %d\n", len);
+				fprintf(stderr, "Unexpected content length header: %"PRIu32"\n", len);
 				buffer_skip_bytes(len);
 			}
 		}
-- 
1.7.2.1


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]