From 535a509846be5087ddd0d6e8fc6399f919942639 Mon Sep 17 00:00:00 2001 From: Xabier Oneca Date: Tue, 6 Oct 2020 02:32:12 +0200 Subject: httpd: code shrink Use decode_base64() from uuencode.c when uudecode/base64 applets are included. That function is bigger than httpd's decodeBase64(), so we use the old one when those applets are disabled. Bloat-o-meter when one of those is enabled: function old new delta handle_incoming_and_exit 2371 2265 -106 Signed-off-by: Xabier Oneca Signed-off-by: Denys Vlasenko --- networking/httpd.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'networking') diff --git a/networking/httpd.c b/networking/httpd.c index 2946b2a54..961f8cab4 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -1017,6 +1017,12 @@ static char *encodeString(const char *string) */ static void decodeBase64(char *Data) { +# if ENABLE_BASE64 || ENABLE_UUDECODE + /* Call decode_base64() from uuencode.c */ + char *eptr = Data; + decode_base64(&eptr, Data); + *eptr = '\0'; +# else const unsigned char *in = (const unsigned char *)Data; /* The decoded size will be at most 3/4 the size of the encoded */ unsigned ch = 0; @@ -1050,6 +1056,7 @@ static void decodeBase64(char *Data) } } *Data = '\0'; +# endif } #endif -- cgit v1.2.3