From e42cc19b51febacba5e8f30f548bf294018d9e7c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 17 Dec 2018 11:02:26 +0100 Subject: bc: simplify zdc_parse_string() function old new delta bc_program_index 64 66 +2 zdc_parse_expr 671 656 -15 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-15) Total: -13 bytes text data bss dec hex filename 981667 485 7296 989448 f1908 busybox_old 981655 485 7296 989436 f18fc busybox_unstripped Signed-off-by: Denys Vlasenko --- miscutils/bc.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'miscutils/bc.c') diff --git a/miscutils/bc.c b/miscutils/bc.c index 58734cf9c..1fb1b00b3 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c @@ -4798,8 +4798,6 @@ static BC_STATUS zbc_parse_expr(BcParse *p, uint8_t flags, BcParseNext next) #if ENABLE_DC -#define DC_PARSE_BUF_LEN ((int) (sizeof(uint32_t) * CHAR_BIT)) - static BC_STATUS zdc_parse_register(BcParse *p) { BcStatus s; @@ -4816,11 +4814,11 @@ static BC_STATUS zdc_parse_register(BcParse *p) static BC_STATUS zdc_parse_string(BcParse *p) { - char *str, *name, b[DC_PARSE_BUF_LEN + 1]; + char *str, *name; size_t idx, len = G.prog.strs.len; - sprintf(b, "%0*zu", DC_PARSE_BUF_LEN, len); - name = xstrdup(b); +//why pad to 32 zeros?? + name = xasprintf("%032lu", (unsigned long)len); str = xstrdup(p->l.t.v.v); bc_parse_push(p, BC_INST_STR); -- cgit v1.2.3