X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fstdio%2Fvdprintf.c;h=b41a3c74cecfc08c1f1ad9c2cdbfe6d24af321bf;hp=bfb1b0a9d8c4a3c566dd7e5a97c44ea0b8e05d84;hb=2d93d6446191def352b8913e859d6104f1398c72;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/src/stdio/vdprintf.c b/src/stdio/vdprintf.c index bfb1b0a9..b41a3c74 100644 --- a/src/stdio/vdprintf.c +++ b/src/stdio/vdprintf.c @@ -1,14 +1,16 @@ #include "stdio_impl.h" +static size_t wrap_write(FILE *f, const unsigned char *buf, size_t len) +{ + return __stdio_write(f, buf, len); +} + int vdprintf(int fd, const char *fmt, va_list ap) { - int r; - char buf[BUFSIZ]; FILE f = { - .fd = fd, .lbf = EOF, .write = __stdio_write, - .buf = buf+UNGET, .buf_size = sizeof buf - UNGET + .fd = fd, .lbf = EOF, .write = wrap_write, + .buf = (void *)fmt, .buf_size = 0, + .lock = -1 }; - r = vfprintf(&f, fmt, ap); - __oflow(&f); - return r; + return vfprintf(&f, fmt, ap); }