diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-05 12:21:57 +0300 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-05 12:21:57 +0300 |
commit | 76140a77c9c47c41f244d90d4250d77b9504f7d4 (patch) | |
tree | 67c43b25beb904f111e8a96548bee1592f5010e2 /networking/libiproute/utils.h | |
parent | 021de3f0297af87bfc098bd364dffb332d6ace20 (diff) |
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
Diffstat (limited to 'networking/libiproute/utils.h')
-rw-r--r-- | networking/libiproute/utils.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/networking/libiproute/utils.h b/networking/libiproute/utils.h index c1dbc6e8b..3603c75a7 100644 --- a/networking/libiproute/utils.h +++ b/networking/libiproute/utils.h @@ -64,19 +64,17 @@ extern int get_addr_1(inet_prefix *dst, char *arg, int family); extern int get_addr(inet_prefix *dst, char *arg, int family); extern int get_prefix(inet_prefix *dst, char *arg, int family); -extern int get_integer(int *val, char *arg, int base); -extern int get_unsigned(unsigned *val, char *arg, int base); -#define get_byte get_u8 -#define get_ushort get_u16 -#define get_short get_s16 -extern int get_u32(uint32_t *val, char *arg, int base); -extern int get_u16(uint16_t *val, char *arg, int base); -extern int get_s16(int16_t *val, char *arg, int base); -extern int get_u8(uint8_t *val, char *arg, int base); -extern int get_s8(int8_t *val, char *arg, int base); +extern unsigned get_unsigned(char *arg, const char *errmsg); +extern uint32_t get_u32(char *arg, const char *errmsg); +extern uint16_t get_u16(char *arg, const char *errmsg); +extern const char *rt_addr_n2a(int af, void *addr, char *buf, int buflen); +#ifdef RESOLVE_HOSTNAMES extern const char *format_host(int af, int len, void *addr, char *buf, int buflen); -extern const char *rt_addr_n2a(int af, int len, void *addr, char *buf, int buflen); +#else +#define format_host(af, len, addr, buf, buflen) \ + rt_addr_n2a(af, addr, buf, buflen) +#endif void invarg(const char *, const char *) NORETURN; void duparg(const char *, const char *) NORETURN; |