aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-12-18 19:17:11 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-12-18 19:17:11 +0100
commit694d2982e5cc73edfc870e26647e85a558d71bbe (patch)
tree00e3b30ddeaec2a049d21efc79846e9cd0fc5e0c
parent7b30bc0222fa5f4e539a36a15ceb7b6e413cafd2 (diff)
downloadbusybox-w32-694d2982e5cc73edfc870e26647e85a558d71bbe.tar.gz
busybox-w32-694d2982e5cc73edfc870e26647e85a558d71bbe.tar.bz2
busybox-w32-694d2982e5cc73edfc870e26647e85a558d71bbe.zip
bc: code shrink
function old new delta bc_program_name 67 63 -4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-4) Total: -4 bytes text data bss dec hex filename 981372 485 7296 989153 f17e1 busybox_old 981368 485 7296 989149 f17dd busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/bc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 40bb29942..eba8aa272 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -5174,17 +5174,19 @@ static size_t bc_program_index(char *code, size_t *bgn)
5174static char *bc_program_name(char *code, size_t *bgn) 5174static char *bc_program_name(char *code, size_t *bgn)
5175{ 5175{
5176 size_t i; 5176 size_t i;
5177 char *s, *str = code + *bgn, *ptr = strchr(str, BC_PARSE_STREND); 5177 char *s;
5178 5178
5179 s = xmalloc(ptr - str + 1); 5179 code += *bgn;
5180 s = xmalloc(strchr(code, BC_PARSE_STREND) - code + 1);
5180 i = 0; 5181 i = 0;
5181 for (;;) { 5182 for (;;) {
5182 char c = code[(*bgn)++]; 5183 char c = *code++;
5183 if (c == '\0' || c == BC_PARSE_STREND) 5184 if (c == BC_PARSE_STREND)
5184 break; 5185 break;
5185 s[i++] = c; 5186 s[i++] = c;
5186 } 5187 }
5187 s[i] = '\0'; 5188 s[i] = '\0';
5189 *bgn += i + 1;
5188 5190
5189 return s; 5191 return s;
5190} 5192}