aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-04-05 22:25:29 +0200
committerNguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-04-20 19:14:17 +0200
commitda799ba7ee22156120ccafd069362fa4bc1314b5 (patch)
treeb5d431cc65898754d0b7200e44fbae30098548fd
parent5e22a8743e438c9c14fb276885cd8a1ade5d40f2 (diff)
downloadbusybox-w32-da799ba7ee22156120ccafd069362fa4bc1314b5.tar.gz
busybox-w32-da799ba7ee22156120ccafd069362fa4bc1314b5.tar.bz2
busybox-w32-da799ba7ee22156120ccafd069362fa4bc1314b5.zip
win32: fdprintf: fix up EDIT
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
-rw-r--r--libbb/platform.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libbb/platform.c b/libbb/platform.c
index 17ad3f75a..8642337d4 100644
--- a/libbb/platform.c
+++ b/libbb/platform.c
@@ -51,8 +51,21 @@ int fdprintf(int fd, const char *format, ...)
51 char *string_ptr; 51 char *string_ptr;
52 52
53 va_start(p, format); 53 va_start(p, format);
54 r = vasprintf(&string_ptr, format, p); 54 if (ENABLE_PLATFORM_MINGW32) {
55 string_ptr = xmalloc(1024);
56 r = vsnprintf(string_ptr, 1024, format, p);
57 }
58 else
59 r = vasprintf(&string_ptr, format, p);
55 va_end(p); 60 va_end(p);
61 if (ENABLE_PLATFORM_MINGW32 && r > 0) {
62 free(string_ptr);
63 r += 2;
64 string_ptr = xmalloc(r);
65 va_start(p, format);
66 r = vsnprintf(string_ptr, r, format, p);
67 va_end(p);
68 }
56 if (r >= 0) { 69 if (r >= 0) {
57 r = full_write(fd, string_ptr, r); 70 r = full_write(fd, string_ptr, r);
58 free(string_ptr); 71 free(string_ptr);