diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-04-05 22:25:29 +0200 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-04-20 19:14:17 +0200 |
commit | da799ba7ee22156120ccafd069362fa4bc1314b5 (patch) | |
tree | b5d431cc65898754d0b7200e44fbae30098548fd | |
parent | 5e22a8743e438c9c14fb276885cd8a1ade5d40f2 (diff) | |
download | busybox-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.c | 15 |
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); |