Mercurial > flash_v2
diff packages/language/c/libc/stdio/current/src/output/vfnprintf.cxx @ 1045:2c741788379c
* src/output/vfnprintf.cxx (SARG): Cast size_t to long. This seems
to stop gcc from producing wrong code for the plain int clause. The
wrong code causes negative numbers to be printed as positive because
the sign extend from 32 bits to 64 bits is wrong.
| author | asl |
|---|---|
| date | Tue, 10 Jun 2003 10:27:13 +0000 |
| parents | fb853432c81a |
| children | 871b38a618f4 |
line wrap: on
line diff
--- a/packages/language/c/libc/stdio/current/src/output/vfnprintf.cxx +++ b/packages/language/c/libc/stdio/current/src/output/vfnprintf.cxx @@ -240,7 +240,7 @@ CYG_MACRO_END (flags&QUADINT ? va_arg(arg, cyg_int64) : \ flags&LONGINT ? va_arg(arg, long) : \ flags&SHORTINT ? (long)(short)va_arg(arg, int) : \ - flags&SIZET ? va_arg(arg, size_t) : \ + flags&SIZET ? (long)va_arg(arg, size_t) : \ (long)va_arg(arg, int)) #define UARG() \ (flags&QUADINT ? va_arg(arg, cyg_uint64) : \
