diff options
| author | matt <matt@NetBSD.org> | 2000-07-03 03:32:57 +0000 |
|---|---|---|
| committer | matt <matt@NetBSD.org> | 2000-07-03 03:32:57 +0000 |
| commit | c72bbb2c51ddfb6f10d1fa8d14cf1241d1e578ab (patch) | |
| tree | c7d14c64100f81278b63efd0a4d02d86648cca9f /libexec | |
| parent | 86d15d820b68d3505cab7fd13c8ee2f2d79c6c74 (diff) | |
Treat short and byte print formats as and cast to the right size.
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.elf_so/xprintf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libexec/ld.elf_so/xprintf.c b/libexec/ld.elf_so/xprintf.c index 86d7592871e..3f51382d24c 100644 --- a/libexec/ld.elf_so/xprintf.c +++ b/libexec/ld.elf_so/xprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: xprintf.c,v 1.6 2000/04/02 23:04:32 soren Exp $ */ +/* $NetBSD: xprintf.c,v 1.7 2000/07/03 03:32:57 matt Exp $ */ /* * Copyright 1996 Matt Thomas <matt@3am-software.com> @@ -30,6 +30,7 @@ #include <sys/cdefs.h> #include "rtldenv.h" #include <string.h> +#include <stdlib.h> #include <unistd.h> #include <errno.h> #ifdef __STDC__ @@ -94,12 +95,12 @@ xvsnprintf(buf, buflen, fmt, ap) unsigned long long uval; char digits[sizeof(int) * 3], *dp = digits; #define SARG() \ -(size & SZ_SHORT ? va_arg(ap, short) : \ +(size & SZ_SHORT ? (short) va_arg(ap, int) : \ size & SZ_LONG ? va_arg(ap, long) : \ size & SZ_QUAD ? va_arg(ap, long long) : \ va_arg(ap, int)) #define UARG() \ -(size & SZ_SHORT ? va_arg(ap, unsigned short) : \ +(size & SZ_SHORT ? (unsigned short) va_arg(ap, unsigned int) : \ size & SZ_LONG ? va_arg(ap, unsigned long) : \ size & SZ_QUAD ? va_arg(ap, unsigned long long) : \ va_arg(ap, unsigned int)) |
