OSDN Git Service

Add vdprintf function. Note: will be rewritten to check if file descriptor has an...
authorManuel Novoa III <mjn3@codepoet.org>
Thu, 15 Feb 2001 16:20:14 +0000 (16:20 -0000)
committerManuel Novoa III <mjn3@codepoet.org>
Thu, 15 Feb 2001 16:20:14 +0000 (16:20 -0000)
libc/stdio/Makefile
libc/stdio/printf.c

index 2ad7cd7..50f3bd6 100644 (file)
@@ -41,7 +41,7 @@ MOBJ=_stdio_init.o fputc.o fgetc.o fflush.o fgets.o gets.o fputs.o    \
 
 MSRC2=printf.c
 MOBJ2=printf.o sprintf.o fprintf.o vprintf.o vsprintf.o vfprintf.o snprintf.o \
-     vsnprintf.o asprintf.o vfnprintf.o fnprintf.o
+     vsnprintf.o asprintf.o vfnprintf.o fnprintf.o vdprintf.o
 
 MSRC3=scanf.c
 MOBJ3=scanf.o sscanf.o fscanf.o vscanf.o vsscanf.o vfscanf.o
index 3a7dda0..898d0b9 100644 (file)
@@ -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);