musl/src/stdio/vdprintf.c

20 lines
412 B
C
Raw Normal View History

2011-02-12 00:22:29 -05:00
#include "stdio_impl.h"
static size_t wrap_write(FILE *f, const unsigned char *buf, size_t len)
{
return __stdio_write(f, buf, len);
}
2011-02-12 00:22:29 -05:00
int vdprintf(int fd, const char *fmt, va_list ap)
{
int r;
unsigned char buf[BUFSIZ];
2011-02-12 00:22:29 -05:00
FILE f = {
.fd = fd, .lbf = EOF, .write = wrap_write,
.buf = buf+UNGET, .buf_size = sizeof buf - UNGET,
.lock = -1
2011-02-12 00:22:29 -05:00
};
r = vfprintf(&f, fmt, ap);
return fflush(&f) ? EOF : r;
2011-02-12 00:22:29 -05:00
}