summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/com32/lib/vfprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/com32/lib/vfprintf.c')
-rw-r--r--contrib/syslinux-4.02/com32/lib/vfprintf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/com32/lib/vfprintf.c b/contrib/syslinux-4.02/com32/lib/vfprintf.c
new file mode 100644
index 0000000..be08421
--- /dev/null
+++ b/contrib/syslinux-4.02/com32/lib/vfprintf.c
@@ -0,0 +1,26 @@
+/*
+ * 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);
+}