networking/libiproute/*: code shrink by optimizing numeric conversions
and other misc stuff function old new delta print_tunnel 660 656 -4 format_host 5 - -5 get_unsigned 70 54 -16 get_u32 70 54 -16 do_iplink 1173 1151 -22 get_prefix 417 393 -24 print_rule 800 771 -29 print_addrinfo 1374 1342 -32 print_route 1745 1709 -36 iprule_modify 905 866 -39 iproute_modify 1105 1048 -57 get_integer 70 - -70 parse_args 1684 1440 -244 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 0/11 up/down: 0/-594) Total: -594 bytes text data bss dec hex filename 817378 476 7892 825746 c9992 busybox_old 816784 476 7892 825152 c9740 busybox_unstripped
This commit is contained in:
@ -115,13 +115,15 @@ int ll_proto_a2n(unsigned short *id, char *buf)
|
||||
unsigned i;
|
||||
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) {
|
||||
if (strcasecmp(llproto_names[i].name, buf) == 0) {
|
||||
*id = htons(llproto_names[i].id);
|
||||
return 0;
|
||||
i = llproto_names[i].id;
|
||||
goto good;
|
||||
}
|
||||
}
|
||||
if (get_u16(id, buf, 0))
|
||||
i = bb_strtou(buf, NULL, 0);
|
||||
if (errno || i > 0xffff)
|
||||
return -1;
|
||||
*id = htons(*id);
|
||||
good:
|
||||
*id = htons(i);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user