# [PATCH] fast_export.c: Fix a compiler warning

4 messages from 2012-08-19 to 2012-08-21. Participants: Ramsay Jones, Florian Achleitner, Junio C Hamano.
Thread: https://gitlist.dev/t/31286

## Ramsay Jones, 2012-08-19 15:29

Subject: [PATCH] fast_export.c: Fix a compiler warning
Message-ID: <5031063E.3090405@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/5031063E.3090405%40ramsay1.demon.co.uk

```

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 <ramsay@ramsay1.demon.co.uk>
---

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.]

Thanks!

ATB,
Ramsay Jones

 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)
-- 
1.7.11.2

```

## Florian Achleitner, 2012-08-20 06:19

Subject: Re: [PATCH] fast_export.c: Fix a compiler warning
Message-ID: <2715225.vOk3BtNY6o@flomedio>
URL: https://gitlist.dev/e/2715225.vOk3BtNY6o%40flomedio
In-Reply-To: <5031063E.3090405@ramsay1.demon.co.uk>

```
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 <ramsay@ramsay1.demon.co.uk>
> ---
> 
> 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

> 
>  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)

```

## Junio C Hamano, 2012-08-20 06:50

Subject: Re: [PATCH] fast_export.c: Fix a compiler warning
Message-ID: <7vfw7im4zs.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vfw7im4zs.fsf%40alter.siamese.dyndns.org
In-Reply-To: <2715225.vOk3BtNY6o@flomedio>

```
Florian Achleitner <florian.achleitner.2.6.31@gmail.com> writes:

>> 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". 

Yeah, I also queued 05ce866 (fixup: add missing cast to
vcs-svn/fast_export.c, 2012-08-18) on top of your series before
pushing 'pu' out yesterday.  Have you had a chance to look at these
fixups?  There are others you would find in my tree, including minor
log message typofixes.

```

## Ramsay Jones, 2012-08-21 18:58

Subject: Re: [PATCH] fast_export.c: Fix a compiler warning
Message-ID: <5033DA59.7010403@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/5033DA59.7010403%40ramsay1.demon.co.uk
In-Reply-To: <2715225.vOk3BtNY6o@flomedio>

```
Florian Achleitner wrote:
> On Sunday 19 August 2012 16:29:02 Ramsay Jones wrote:

> 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.

The git codebase is actually moving in the other direction! :-D
I think the last "%z" modifier was removed by commit 28bd70d8 ("unbreak and
eliminate NO_C99_FORMAT", 16-03-2011).

ATB,
Ramsay Jones

```
