diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-17 11:02:26 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-17 11:02:26 +0100 |
commit | e42cc19b51febacba5e8f30f548bf294018d9e7c (patch) | |
tree | 2da80b82241aa0576cf5143ed3cb1f67084cb4bb | |
parent | 59d4ce935ed8fa54e4b8197cc2c43ba1ad5e5d69 (diff) | |
download | busybox-w32-e42cc19b51febacba5e8f30f548bf294018d9e7c.tar.gz busybox-w32-e42cc19b51febacba5e8f30f548bf294018d9e7c.tar.bz2 busybox-w32-e42cc19b51febacba5e8f30f548bf294018d9e7c.zip |
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 <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/bc.c | 8 |
1 files changed, 3 insertions, 5 deletions
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) | |||
4798 | 4798 | ||
4799 | #if ENABLE_DC | 4799 | #if ENABLE_DC |
4800 | 4800 | ||
4801 | #define DC_PARSE_BUF_LEN ((int) (sizeof(uint32_t) * CHAR_BIT)) | ||
4802 | |||
4803 | static BC_STATUS zdc_parse_register(BcParse *p) | 4801 | static BC_STATUS zdc_parse_register(BcParse *p) |
4804 | { | 4802 | { |
4805 | BcStatus s; | 4803 | BcStatus s; |
@@ -4816,11 +4814,11 @@ static BC_STATUS zdc_parse_register(BcParse *p) | |||
4816 | 4814 | ||
4817 | static BC_STATUS zdc_parse_string(BcParse *p) | 4815 | static BC_STATUS zdc_parse_string(BcParse *p) |
4818 | { | 4816 | { |
4819 | char *str, *name, b[DC_PARSE_BUF_LEN + 1]; | 4817 | char *str, *name; |
4820 | size_t idx, len = G.prog.strs.len; | 4818 | size_t idx, len = G.prog.strs.len; |
4821 | 4819 | ||
4822 | sprintf(b, "%0*zu", DC_PARSE_BUF_LEN, len); | 4820 | //why pad to 32 zeros?? |
4823 | name = xstrdup(b); | 4821 | name = xasprintf("%032lu", (unsigned long)len); |
4824 | 4822 | ||
4825 | str = xstrdup(p->l.t.v.v); | 4823 | str = xstrdup(p->l.t.v.v); |
4826 | bc_parse_push(p, BC_INST_STR); | 4824 | bc_parse_push(p, BC_INST_STR); |