diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 14:19:32 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 14:19:32 +0000 |
commit | 167217bec15c9c7aa70ba2a3dc9c689b3cd91872 (patch) | |
tree | 7c0c62debf8f9f145643102fb52b81afce743594 /mdk-stage1/dietlibc/lib/vfprintf.c | |
parent | 9097327dc1c667fc51b8e05cc7c0626fac96665d (diff) | |
download | drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.gz drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.bz2 drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.xz drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.zip |
import new version of dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/lib/vfprintf.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/vfprintf.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mdk-stage1/dietlibc/lib/vfprintf.c b/mdk-stage1/dietlibc/lib/vfprintf.c index 03dfe87a9..c33a2404b 100644 --- a/mdk-stage1/dietlibc/lib/vfprintf.c +++ b/mdk-stage1/dietlibc/lib/vfprintf.c @@ -1,11 +1,19 @@ #include <stdarg.h> #include <stdio.h> #include <stdlib.h> +#include "dietstdarg.h" int vfprintf(FILE *fstream, const char *format, va_list ap) { - char tmp[1000000]; - size_t n = vsnprintf(tmp, sizeof(tmp), format, ap); - fwrite(tmp, n, 1, fstream); + char *tmp; + va_list cp_ap; + size_t n = 0; + + va_copy(cp_ap, ap); + n=vsnprintf(0, 1000000, format, cp_ap); + tmp=alloca(n+2); + vsnprintf(tmp, n+1, format, ap); + fwrite(tmp, n,1, fstream); return n; } + |