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>
This commit is contained in:
Denys Vlasenko 2018-12-18 19:17:11 +01:00
parent 7b30bc0222
commit 694d2982e5

View File

@ -5174,17 +5174,19 @@ static size_t bc_program_index(char *code, size_t *bgn)
static char *bc_program_name(char *code, size_t *bgn)
{
size_t i;
char *s, *str = code + *bgn, *ptr = strchr(str, BC_PARSE_STREND);
char *s;
s = xmalloc(ptr - str + 1);
code += *bgn;
s = xmalloc(strchr(code, BC_PARSE_STREND) - code + 1);
i = 0;
for (;;) {
char c = code[(*bgn)++];
if (c == '\0' || c == BC_PARSE_STREND)
char c = *code++;
if (c == BC_PARSE_STREND)
break;
s[i++] = c;
}
s[i] = '\0';
*bgn += i + 1;
return s;
}