aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2014-03-20 15:36:27 +0000
committerRon Yorston <rmy@pobox.com>2014-03-20 15:36:27 +0000
commitc9d700f3a93db02035d0a3b28b660a1299b4658a (patch)
treebd13fc49a22e6607c040c6b2ae4cab58687323a7
parent88deb9583290c2a4880903249eb9c5ed6ac05466 (diff)
downloadbusybox-w32-c9d700f3a93db02035d0a3b28b660a1299b4658a.tar.gz
busybox-w32-c9d700f3a93db02035d0a3b28b660a1299b4658a.tar.bz2
busybox-w32-c9d700f3a93db02035d0a3b28b660a1299b4658a.zip
Implement vprintf replacement
-rw-r--r--include/mingw.h2
-rw-r--r--win32/winansi.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/include/mingw.h b/include/mingw.h
index c737441a6..b1a28b473 100644
--- a/include/mingw.h
+++ b/include/mingw.h
@@ -144,6 +144,7 @@ int winansi_putchar(int c);
144int winansi_puts(const char *s); 144int winansi_puts(const char *s);
145size_t winansi_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 145size_t winansi_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
146int winansi_fputs(const char *str, FILE *stream); 146int winansi_fputs(const char *str, FILE *stream);
147int winansi_vfprintf(FILE *stream, const char *format, va_list list);
147int winansi_printf(const char *format, ...) __attribute__((format (printf, 1, 2))); 148int winansi_printf(const char *format, ...) __attribute__((format (printf, 1, 2)));
148int winansi_fprintf(FILE *stream, const char *format, ...) __attribute__((format (printf, 2, 3))); 149int winansi_fprintf(FILE *stream, const char *format, ...) __attribute__((format (printf, 2, 3)));
149int winansi_write(int fd, const void *buf, size_t count); 150int winansi_write(int fd, const void *buf, size_t count);
@@ -153,6 +154,7 @@ int winansi_getc(FILE *stream);
153#define puts winansi_puts 154#define puts winansi_puts
154#define fwrite winansi_fwrite 155#define fwrite winansi_fwrite
155#define fputs winansi_fputs 156#define fputs winansi_fputs
157#define vprintf(...) winansi_vfprintf(stdout, __VA_ARGS__)
156#define printf(...) winansi_printf(__VA_ARGS__) 158#define printf(...) winansi_printf(__VA_ARGS__)
157#define fprintf(...) winansi_fprintf(__VA_ARGS__) 159#define fprintf(...) winansi_fprintf(__VA_ARGS__)
158#define write winansi_write 160#define write winansi_write
diff --git a/win32/winansi.c b/win32/winansi.c
index e2b18b274..d929bcc66 100644
--- a/win32/winansi.c
+++ b/win32/winansi.c
@@ -9,6 +9,7 @@
9/* 9/*
10 Functions to be wrapped: 10 Functions to be wrapped:
11*/ 11*/
12#undef vprintf
12#undef printf 13#undef printf
13#undef fprintf 14#undef fprintf
14#undef fputs 15#undef fputs
@@ -466,7 +467,7 @@ int winansi_fputs(const char *str, FILE *stream)
466 return EOF; 467 return EOF;
467} 468}
468 469
469static int winansi_vfprintf(FILE *stream, const char *format, va_list list) 470int winansi_vfprintf(FILE *stream, const char *format, va_list list)
470{ 471{
471 int len, rv; 472 int len, rv;
472 char small_buf[256]; 473 char small_buf[256];