Fixes for format strings
Andreas Jaeger
aj@suse.de
Sat Dec 9 09:42:00 GMT 2000
>>>>> Ulrich Drepper writes:
> Andreas Jaeger <aj@suse.de> writes:
>> @@ -1482,7 +1482,7 @@
>> struct charseq *seq;
>> uint32_t wch;
>>
>> - sprintf (tmp, (base == 10 ? "%.*s%0*d" : "%.*s%0*X"), cp - last_str,
>> + sprintf (tmp, (base == 10 ? "%.*s%0*ld" : "%.*s%0*lX"), cp - last_str,
>> last_str, now->val.str.lenmb - (cp - last_str), from);
> The is a pointer difference. Therefore use the t modifier (not l).
`from' is not a pointer difference, it's of type `unsigned long int'.
The pointer difference (cp -last_str) is used by the '*' parameter.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Libc-hacker
mailing list