1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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) { FILE f = { .fd = fd, .lbf = EOF, .write = wrap_write, .buf = (void *)fmt, .buf_size = 0, .lock = -1 }; return vfprintf(&f, fmt, ap); }