53 register u_int *pp = parts;
63 if (*++cp ==
'x' || *cp ==
'X')
68 while ((c = *cp) !=
'\0') {
69 if (isascii(c) && isdigit((
int)c)) {
70 val = (val * base) + (c -
'0');
74 if (base == 16 && isascii(c) && isxdigit((
int)c)) {
76 (c + 10 - (islower((
int)c) ?
'a' :
'A'));
89 if (pp >= parts + 3 || val > 0xff)
98 if (*cp && (!isascii(*cp) || !isspace((
int)*cp)))
116 val |= parts[0] << 24;
122 val |= (parts[0] << 24) | (parts[1] << 16);
128 val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);
132 addr->s_addr = htonl(val);