summaryrefslogtreecommitdiff
path: root/libc/stdio/printf.c
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2001-02-15 16:20:14 +0000
committerManuel Novoa III <mjn3@codepoet.org>2001-02-15 16:20:14 +0000
commit0ba092c1c9d7ff6091a80db79d4d6b26162ad50c (patch)
tree13d3e4330c8703cba06b2a721f1e022bc809a266 /libc/stdio/printf.c
parent55452223c9d676bcf29601948a97aa10f322fd10 (diff)
Add vdprintf function. Note: will be rewritten to check if file descriptor has an associated FILE to avoid bad interactions with buffered output, but needed for busybox right now and that implementation has the same bug.
Diffstat (limited to 'libc/stdio/printf.c')
-rw-r--r--libc/stdio/printf.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libc/stdio/printf.c b/libc/stdio/printf.c
index 3a7dda007..898d0b94e 100644
--- a/libc/stdio/printf.c
+++ b/libc/stdio/printf.c
@@ -279,6 +279,17 @@ int vsnprintf(char *sp, size_t size, __const char *fmt, va_list ap)
}
#endif
+#ifdef L_vdprintf
+#warning rewrite vdprintf ... fd may have an associated file!!! plus buffer?
+extern int vdprintf(int fd, const char *fmt, va_list ap)
+{
+ FILE f = {f.unbuf, f.unbuf, f.unbuf, f.unbuf, f.unbuf + sizeof(f.unbuf),
+ fd, _IONBF | __MODE_WRITE | __MODE_IOTRAN};
+
+ return vfnprintf(&f, -1, fmt, ap);
+}
+#endif
+
#ifdef L_vfnprintf
extern char *__ultostr(char *buf, unsigned long uval, int base, int uppercase);