avoid referencing address of extern function from vdprintf
[musl] / 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 *fmt, va_list ap)
9 {
10         int r;
11         char buf[BUFSIZ];
12         FILE f = {
13                 .fd = fd, .lbf = EOF, .write = wrap_write,
14                 .buf = buf+UNGET, .buf_size = sizeof buf - UNGET
15         };
16         r = vfprintf(&f, fmt, ap);
17         __oflow(&f);
18         return r;
19 }