diff options
Diffstat (limited to 'lib/ipx_pton.c')
-rw-r--r-- | lib/ipx_pton.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/lib/ipx_pton.c b/lib/ipx_pton.c index 3dca2713..071a775e 100644 --- a/lib/ipx_pton.c +++ b/lib/ipx_pton.c @@ -6,18 +6,6 @@ #include "utils.h" -static u_int32_t hexget(char c) -{ - if (c >= 'A' && c <= 'F') - return c - 'A' + 10; - if (c >= 'a' && c <= 'f') - return c - 'a' + 10; - if (c >= '0' && c <= '9') - return c - '0'; - - return 0xf0; -} - static int ipx_getnet(u_int32_t *net, const char *str) { int i; @@ -25,7 +13,7 @@ static int ipx_getnet(u_int32_t *net, const char *str) for(i = 0; *str && (i < 8); i++) { - if ((tmp = hexget(*str)) & 0xf0) { + if ((tmp = get_hex(*str)) == -1) { if (*str == '.') return 0; else @@ -49,11 +37,11 @@ static int ipx_getnode(u_int8_t *node, const char *str) u_int32_t tmp; for(i = 0; i < 6; i++) { - if ((tmp = hexget(*str++)) & 0xf0) + if ((tmp = get_hex(*str++)) == -1) return -1; node[i] = (u_int8_t)tmp; node[i] <<= 4; - if ((tmp = hexget(*str++)) & 0xf0) + if ((tmp = get_hex(*str++)) == -1) return -1; node[i] |= (u_int8_t)tmp; if (*str == ':') |