From 1bf60c01b827f480c65d5e5accdc4fa47825d5e1 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 14 Oct 1999 19:28:27 +0000 Subject: Update. * resolv/inet_addr.c (inet_aton): Fix last patch. The little endian version works for both endiannesses. --- resolv/inet_addr.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'resolv') diff --git a/resolv/inet_addr.c b/resolv/inet_addr.c index e7f56d4588..68f63101a2 100644 --- a/resolv/inet_addr.c +++ b/resolv/inet_addr.c @@ -107,11 +107,7 @@ inet_aton(cp, addr) uint8_t bytes[4]; uint32_t word; } res; -#if BYTE_ORDER == LITTLE_ENDIAN register uint8_t *pp = res.bytes; -#else - register uint8_t *pp = &res.bytes[4]; -#endif int digit; #ifdef _LIBC @@ -172,17 +168,10 @@ inet_aton(cp, addr) * a.b.c (with c treated as 16 bits) * a.b (with b treated as 24 bits) */ - if ((BYTE_ORDER == LITTLE_ENDIAN - && pp >= res.bytes + 3) - || (BYTE_ORDER == BIG_ENDIAN - && pp == res.bytes) + if (pp >> res.bytes + 3 || val > 0xff) goto ret_0; -#if BYTE_ORDER == LITTLE_ENDIAN *pp++ = val; -#else - *--pp = val; -#endif c = *++cp; } else break; @@ -201,8 +190,7 @@ inet_aton(cp, addr) /* Check whether the last part is in its limits depending on the number of parts in total. */ - if ((BYTE_ORDER == LITTLE_ENDIAN && val > max[pp - res.bytes]) - || (BYTE_ORDER == BIG_ENDIAN && val > max[res.bytes - pp])) + if (val > max[pp - res.bytes]) goto ret_0; if (addr) -- cgit v1.2.3