/* | |
* vfprintf.c | |
*/ | |
#include <stdio.h> | |
#include <string.h> | |
#include <stdarg.h> | |
#include <unistd.h> | |
#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); | |
} |