diff options
author | kib <kib@FreeBSD.org> | 2006-10-23 07:25:25 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2006-10-23 07:25:25 +0000 |
commit | e6083a98d8a340cd107329b92825df0bbe7118ae (patch) | |
tree | 27db3cb7aa30f3d6d7f2b88179049c0c668ef1ba /lib | |
parent | f395a2d02c323a280083ffe5ec6a052fc677a05a (diff) | |
download | FreeBSD-src-e6083a98d8a340cd107329b92825df0bbe7118ae.zip FreeBSD-src-e6083a98d8a340cd107329b92825df0bbe7118ae.tar.gz |
Revert the rev. 1.4, it causes breakage on most arches except i386.
Remove the const qualifier from ap argument for __v2printf, that induced
that breakage, and seems to be the real reason for bad code. ap is modified
inside the __v2printf body by va_arg macro.
Pointy hat to: kib
Approved by: pjd (mentor)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/stdio/xprintf.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/libc/stdio/xprintf.c b/lib/libc/stdio/xprintf.c index 5930135..41ee4ab 100644 --- a/lib/libc/stdio/xprintf.c +++ b/lib/libc/stdio/xprintf.c @@ -261,7 +261,7 @@ static struct { static int -__v2printf(FILE *fp, const char *fmt0, unsigned pct, const va_list ap1) +__v2printf(FILE *fp, const char *fmt0, unsigned pct, va_list ap) { struct printf_info *pi, *pil; const char *fmt; @@ -274,9 +274,7 @@ __v2printf(FILE *fp, const char *fmt0, unsigned pct, const va_list ap1) int ret = 0; int n; struct __printf_io io; - va_list ap; - va_copy(ap, ap1); __printf_init(&io); io.fp = fp; @@ -563,7 +561,6 @@ __v2printf(FILE *fp, const char *fmt0, unsigned pct, const va_list ap1) errx(1, "render[%c] = NULL", *fmt); } __printf_flush(&io); - va_end(ap); return (ret); } |