diff options
author | Christopher Faylor <me@cgf.cx> | 2005-01-31 20:55:33 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-01-31 20:55:33 +0000 |
commit | 4faae8d6e94dd15c94a515b85303c8b3086b8d97 (patch) | |
tree | 021a7231446ec194007f7ee20ea77366076f35c9 /winsup/cygwin/smallprint.c | |
parent | c824aa4330e42ba7a68ffe1c20601203072307dd (diff) | |
download | cygnal-4faae8d6e94dd15c94a515b85303c8b3086b8d97.tar.gz cygnal-4faae8d6e94dd15c94a515b85303c8b3086b8d97.tar.bz2 cygnal-4faae8d6e94dd15c94a515b85303c8b3086b8d97.zip |
* smallprint.c (rnarg): Use long rather than unsigned long so that we get
proper sign extension.
Diffstat (limited to 'winsup/cygwin/smallprint.c')
-rw-r--r-- | winsup/cygwin/smallprint.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/winsup/cygwin/smallprint.c b/winsup/cygwin/smallprint.c index 43d0decd4..6ad95c6e4 100644 --- a/winsup/cygwin/smallprint.c +++ b/winsup/cygwin/smallprint.c @@ -21,7 +21,7 @@ int __small_vsprintf (char *dst, const char *fmt, va_list ap); #define LLMASK (0xffffffffffffffffULL) #define LMASK (0xffffffff) -#define rnarg(dst, base, dosign, len, pad) __rn ((dst), (base), (dosign), va_arg (ap, unsigned), len, pad, LMASK) +#define rnarg(dst, base, dosign, len, pad) __rn ((dst), (base), (dosign), va_arg (ap, long), len, pad, LMASK) #define rnargLL(dst, base, dosign, len, pad) __rn ((dst), (base), (dosign), va_arg (ap, unsigned long long), len, pad, LLMASK) static char * __rn (char *, int, int, long long, int, int, @@ -59,13 +59,11 @@ __rn (char *dst, int base, int dosign, long long val, int len, int pad, unsigned } while (uval); - while (len -- > l) + while (len-- > l) *dst++ = pad; while (l > 0) - { - *dst++ = res[--l]; - } + *dst++ = res[--l]; return dst; } |