From 5084bae61aac86fc6d13d48e59f5b98908de7d31 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 24 Nov 2018 21:56:21 +0100 Subject: [PATCH] wget: code shrink function old new delta base64enc 53 46 -7 Signed-off-by: Denys Vlasenko --- networking/wget.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/networking/wget.c b/networking/wget.c index 44c481a99..58a51d9ff 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -233,20 +233,19 @@ struct globals { char *fname_out; /* where to direct output (-O) */ const char *proxy_flag; /* Use proxies if env vars are set */ const char *user_agent; /* "User-Agent" header field */ + int output_fd; + int o_flags; #if ENABLE_FEATURE_WGET_TIMEOUT unsigned timeout_seconds; - bool die_if_timed_out; + smallint die_if_timed_out; #endif - int output_fd; - int o_flags; smallint chunked; /* chunked transfer encoding */ smallint got_clen; /* got content-length: from server */ /* Local downloads do benefit from big buffer. * With 512 byte buffer, it was measured to be * an order of magnitude slower than with big one. */ - uint64_t just_to_align_next_member; - char wget_buf[CONFIG_FEATURE_COPYBUF_KB*1024]; + char wget_buf[CONFIG_FEATURE_COPYBUF_KB*1024] ALIGNED(sizeof(long)); } FIX_ALIASING; #define G (*ptr_to_globals) #define INIT_G() do { \ @@ -349,9 +348,8 @@ static void strip_ipv6_scope_id(char *host) /* Base64-encode character string. */ static char *base64enc(const char *str) { - unsigned len = strlen(str); - if (len > sizeof(G.wget_buf)/4*3 - 10) /* paranoia */ - len = sizeof(G.wget_buf)/4*3 - 10; + /* paranoia */ + unsigned len = strnlen(str, sizeof(G.wget_buf)/4*3 - 10); bb_uuencode(G.wget_buf, str, len, bb_uuenc_tbl_base64); return G.wget_buf; } -- 2.25.1