- remove matches() from networking/. Untested.

text    data     bss     dec     hex filename
   1705       0       0    1705     6a9 networking/libiproute/utils.o.orig
   1676       0       0    1676     68c networking/libiproute/utils.o
    766       0       0     766     2fe networking/libiproute/rtm_map.o.orig
    670       0       0     670     29e networking/libiproute/rtm_map.o
   4942       0       0    4942    134e networking/libiproute/iptunnel.o.orig
   4687       0       0    4687    124f networking/libiproute/iptunnel.o
This commit is contained in:
Bernhard Reutner-Fischer
2007-06-21 10:20:13 +00:00
parent 833358798a
commit 789b87edf5
4 changed files with 95 additions and 61 deletions

View File

@@ -51,31 +51,40 @@ const char *rtnl_rtntype_n2a(int id, char *buf, int len)
int rtnl_rtntype_a2n(int *id, char *arg)
{
static const char * const keywords[] = {
"local", "nat", "broadcast", "brd", "anycast",
"multicast", "prohibit", "unreachable", "blackhole",
"xresolve", "unicast", "throw", NULL
};
enum { ARG_local = 1, ARG_nat, ARG_broadcast, ARG_brd, ARG_anycast,
ARG_multicast, ARG_prohibit, ARG_unreachable, ARG_blackhole,
ARG_xresolve, ARG_unicast, ARG_throw
};
const smalluint key = index_in_substr_array(keywords, arg) + 1;
char *end;
unsigned long res;
if (strcmp(arg, "local") == 0)
if (key == ARG_local)
res = RTN_LOCAL;
else if (strcmp(arg, "nat") == 0)
else if (key == ARG_nat)
res = RTN_NAT;
else if (matches(arg, "broadcast") == 0 ||
strcmp(arg, "brd") == 0)
else if (key == ARG_broadcast || key == ARG_brd)
res = RTN_BROADCAST;
else if (matches(arg, "anycast") == 0)
else if (key == ARG_anycast)
res = RTN_ANYCAST;
else if (matches(arg, "multicast") == 0)
else if (key == ARG_multicast)
res = RTN_MULTICAST;
else if (matches(arg, "prohibit") == 0)
else if (key == ARG_prohibit)
res = RTN_PROHIBIT;
else if (matches(arg, "unreachable") == 0)
else if (key == ARG_unreachable)
res = RTN_UNREACHABLE;
else if (matches(arg, "blackhole") == 0)
else if (key == ARG_blackhole)
res = RTN_BLACKHOLE;
else if (matches(arg, "xresolve") == 0)
else if (key == ARG_xresolve)
res = RTN_XRESOLVE;
else if (matches(arg, "unicast") == 0)
else if (key == ARG_unicast)
res = RTN_UNICAST;
else if (strcmp(arg, "throw") == 0)
else if (key == ARG_throw)
res = RTN_THROW;
else {
res = strtoul(arg, &end, 0);