/* * vfprintf.c */ #include #include #include #include #define BUFFER_SIZE 32768 int vfprintf(FILE * file, const char *format, va_list ap) { int rv; char buffer[BUFFER_SIZE]; rv = vsnprintf(buffer, BUFFER_SIZE, format, ap); if (rv < 0) return rv; if (rv > BUFFER_SIZE - 1) rv = BUFFER_SIZE - 1; return _fwrite(buffer, rv, file); }