correctly handle write errors encountered by printf-family functions
[oweals/musl.git] / src / stdio / vdprintf.c
1 #include "stdio_impl.h"
2
3 static size_t wrap_write(FILE *f, const unsigned char *buf, size_t len)
4 {
5         return __stdio_write(f, buf, len);
6 }
7
8 int vdprintf(int fd, const char *restrict fmt, va_list ap)
9 {
10         FILE f = {
11                 .fd = fd, .lbf = EOF, .write = wrap_write,
12                 .buf = (void *)fmt, .buf_size = 0,
13                 .lock = -1
14         };
15         return vfprintf(&f, fmt, ap);
16 }