From 384b1d12f957a3a4c80fb32bc29cb79c282ac361 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 14 Aug 2007 16:55:01 +0000 Subject: httpd: add -v[v]: prints client addresses, HTTP codes returned [and URLs] get_line - 70 +70 packed_usage 22811 22863 +52 handle_incoming_and_exit 2246 2277 +31 httpd_main 1141 1155 +14 sendHeaders 489 482 -7 getLine 77 - -77 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 3/1 up/down: 167/-84) Total: 83 bytes text data bss dec hex filename 774335 1058 11092 786485 c0035 busybox_old 774447 1058 11092 786597 c00a5 busybox_unstripped --- libbb/xfuncs.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libbb') diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index 67c986640..4e17c28bd 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -484,12 +484,14 @@ int fdprintf(int fd, const char *format, ...) #else // Bloat for systems that haven't got the GNU extension. va_start(p, format); - r = vsnprintf(NULL, 0, format, p); - va_end(p); - string_ptr = xmalloc(r+1); - va_start(p, format); - r = vsnprintf(string_ptr, r+1, format, p); + r = vsnprintf(NULL, 0, format, p) + 1; va_end(p); + string_ptr = malloc(r); + if (string_ptr) { + va_start(p, format); + r = vsnprintf(string_ptr, r, format, p); + va_end(p); + } #endif if (r >= 0) { -- cgit v1.2.3-55-g6feb