/* * 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); }