32 #if defined(LIBC_SCCS) && !defined(lint) 34 static char sccsid[] =
"@(#)inet_addr.c 8.1 (Berkeley) 6/17/93";
36 static char rcsid[] =
"$NetBSD: inet_addr.c,v 1.6 1996/02/02 15:22:23 mrg Exp $";
61 register u_int *pp = parts;
71 if (*++cp ==
'x' || *cp ==
'X')
76 while ((c = *cp) !=
'\0') {
77 if (isascii(c) && isdigit((
int)c)) {
78 val = (val * base) + (c -
'0');
82 if (base == 16 && isascii(c) && isxdigit((
int)c)) {
84 (c + 10 - (islower((
int)c) ?
'a' :
'A'));
97 if (pp >= parts + 3 || val > 0xff)
106 if (*cp && (!isascii(*cp) || !isspace((
int)*cp)))
124 val |= parts[0] << 24;
130 val |= (parts[0] << 24) | (parts[1] << 16);
136 val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
140 addr->s_addr = htonl(val);