ppr-list-digest volume 3, number 54, message 1

Note: please don't spam any of the e-mail addresses which you see here. Follow this link if you want some addresses to misuse.


From: David Chappell <David.Chappell@mail.trincoll.edu>
Date: Mon, 09 Apr 2001 13:21:39 -0400
Subject: Re: PPR: Compliling on RedHat 7.0

Benjamin Jellema wrote:

> 
> 	My compile errors happen in:
> snprintf.c: In function `dopr':
> snprintf.c:294: `short int' is promoted to `int' when passed through `...'
> snprintf.c:294: (so you should pass `int' not `short int' to `va_arg')
> snprintf.c:306: `short unsigned int' is promoted to `int' when passed through `...'
> snprintf.c:318: `short unsigned int' is promoted to `int' when passed through `...'
> snprintf.c:332: `short unsigned int' is promoted to `int' when passed through `...'
> make[1]: *** [snprintf.o] Error 1
> make[1]: Leaving directory `/home/root/ppr-1.42/libgu'
> make: *** [all] Error 1
> 
> 	I have looked briefly at the code and changed the definition from 
> 'short unsigned int' to just plain 'int' in the function calls.  This seems 
> okay because it was another option in the case statement ( Original='-->'
> Modified='*->').  It compiled happily.  I am just now trying to see if it 
> works.
> 
> 	This is part of a case statement in the snprintf.c file (originating
> at line 293):
>         if (cflags == DP_C_SHORT)
> -->        value = va_arg (args, short int);
>         else if (cflags == DP_C_LONG)
>           value = va_arg (args, long int);
>         else if (cflags == DP_C_LLONG)
>           value = va_arg (args, LLONG);
>         else
> *->        value = va_arg (args, int);
> 
> Thank you,
> Benjamin

I think you are right.  I commented out the first clause in each of 
these.  That should make it fall through to the last instead.

There is going to be a 1.44b1 release in which I will attempt to correct 
as many build problems as possible.  Maybe next week.