From 1bf60c01b827f480c65d5e5accdc4fa47825d5e1 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 14 Oct 1999 19:28:27 +0000 Subject: [PATCH] Update. * resolv/inet_addr.c (inet_aton): Fix last patch. The little endian version works for both endiannesses. --- ChangeLog | 3 +++ resolv/inet_addr.c | 16 ++-------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87cce19..1f6c1b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-10-14 Andreas Jaeger + * resolv/inet_addr.c (inet_aton): Fix last patch. The little + endian version works for both endiannesses. + * sysdeps/unix/sysv/linux/sleep.c (__sleep): Optimize for zero seconds. diff --git a/resolv/inet_addr.c b/resolv/inet_addr.c index e7f56d4..68f6310 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) -- 2.7.4