bc: shrink bc_program_index()
function old new delta bc_program_index 66 47 -19 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-19) Total: -19 bytes text data bss dec hex filename 981418 485 7296 989199 f180f busybox_old 981399 485 7296 989180 f17fc busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
55f3cab7e9
commit
3f940c9c70
@ -5256,11 +5256,18 @@ exec_err:
|
|||||||
|
|
||||||
static size_t bc_program_index(char *code, size_t *bgn)
|
static size_t bc_program_index(char *code, size_t *bgn)
|
||||||
{
|
{
|
||||||
char amt = code[(*bgn)++], i = 0;
|
unsigned char *bytes = (void*)(code + *bgn);
|
||||||
size_t res = 0;
|
unsigned amt;
|
||||||
|
unsigned i;
|
||||||
|
size_t res;
|
||||||
|
|
||||||
for (; i < amt; ++i, ++(*bgn))
|
amt = *bytes++;
|
||||||
res |= (((size_t)((int) code[*bgn]) & UCHAR_MAX) << (i * CHAR_BIT));
|
*bgn += amt + 1;
|
||||||
|
|
||||||
|
amt *= 8;
|
||||||
|
res = 0;
|
||||||
|
for (i = 0; i < amt; i += 8)
|
||||||
|
res |= (size_t)(*bytes++) << i;
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user