From da799ba7ee22156120ccafd069362fa4bc1314b5 Mon Sep 17 00:00:00 2001 From: Nguyễn Thái Ngọc Duy Date: Mon, 5 Apr 2010 22:25:29 +0200 Subject: win32: fdprintf: fix up EDIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy --- libbb/platform.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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, ...) char *string_ptr; va_start(p, format); - r = vasprintf(&string_ptr, format, p); + if (ENABLE_PLATFORM_MINGW32) { + string_ptr = xmalloc(1024); + r = vsnprintf(string_ptr, 1024, format, p); + } + else + r = vasprintf(&string_ptr, format, p); va_end(p); + if (ENABLE_PLATFORM_MINGW32 && r > 0) { + free(string_ptr); + r += 2; + string_ptr = xmalloc(r); + va_start(p, format); + r = vsnprintf(string_ptr, r, format, p); + va_end(p); + } if (r >= 0) { r = full_write(fd, string_ptr, r); free(string_ptr); -- cgit v1.2.3-55-g6feb