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