#include "internal.h" int fmt·vfprint(int fd, char *fmt, va_list args) { int n; fmt·State io; char buf[256]; fmt·open(fd, sizeof(buf), buf, &io); va_copy(io.args, args); n = fmt·do(&io, fmt); va_end(io.args); if(n > 0 && io.flush(&io) < 0) return -1; return n; }