summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2018-11-24 21:56:21 +0100
committerDenys Vlasenko2018-11-24 21:56:21 +0100
commit5084bae61aac86fc6d13d48e59f5b98908de7d31 (patch)
tree2fac80427bc988024b0178788158375f0f6ce978
parentd2923b3d239d55565427533d3a9702cf1d27eb92 (diff)
downloadbusybox-5084bae61aac86fc6d13d48e59f5b98908de7d31.zip
busybox-5084bae61aac86fc6d13d48e59f5b98908de7d31.tar.gz
wget: code shrink
function old new delta base64enc 53 46 -7 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/wget.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/networking/wget.c b/networking/wget.c
index 44c481a..58a51d9 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;
}