Re: [PATCH] fast_export.c: Fix a compiler warning
From: Florian Achleitner <hidden>
Date: 2016-06-15 22:54:31
On Sunday 19 August 2012 16:29:02 Ramsay Jones wrote:
In particular, gcc complains thus:
CC vcs-svn/fast_export.o
vcs-svn/fast_export.c: In function 'fast_export_begin_note':
vcs-svn/fast_export.c:77: warning: long long unsigned int format, \
different type arg (arg 2)
In order to fix the warning, we cast the second size_t argument in
the call to printf to uintmax_t.
Signed-off-by: Ramsay Jones <redacted>
---
Hi Florian,
If you need to re-roll your patches in the 'fa/remote-svn' branch, could
you please squash this fix into them. [This was implemented on top of
commit 2ce959ba, but you will probably want to make the equivalent change
to commit d319a37c ("Create a note for every imported commit containing
svn metadata", 17-08-2012) instead. Note that, because of the context
lines in the patch, it won't apply as-is.]Ok, I'll add it to the next version. This warning only occurs when building for 32bit, thus I never saw it. There would be a format flag for printf that sprecifies the platform's size_t integer type: "z". Probalby we should use it instead? I don't know how widely supported it is.
Thanks! ATB, Ramsay Jones
Thanks, Florian
quoted hunk ↗ jump to hunk
vcs-svn/fast_export.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c index c780d32..dd09c7d 100644 --- a/vcs-svn/fast_export.c +++ b/vcs-svn/fast_export.c@@ -74,7 +74,7 @@ void fast_export_begin_note(uint32_t revision, const char*author, size_t loglen = strlen(log); printf("commit %s\n", note_ref); printf("committer %s <%s@%s> %ld +0000\n", author, author, "local", timestamp); - printf("data %"PRIuMAX"\n", loglen); + printf("data %"PRIuMAX"\n", (uintmax_t) loglen); fwrite(log, loglen, 1, stdout); if (firstnote) { if (revision > 1)