16 if(!isdigit(c))
return 0;
22 if(c ==
'x' || c ==
'X') {
31 if(base == 8 && c >=
'8')
return 0;
36 else if(base == 16 && isxdigit(c)) {
38 val += c + 10 - (islower(c) ?
'a' :
'A');
45 if(num_bytes > 3)
return 0;
46 if(val > 0xFF)
return 0;
47 bytes[num_bytes++] = val;
63 if(val > 0xFFFFFF)
return 0;
64 val |= bytes[0] << 24;
68 if(val > 0xFFFF)
return 0;
69 val |= bytes[0] << 24;
70 val |= bytes[1] << 16;
74 if(val > 0xFF)
return 0;
75 val |= bytes[0] << 24;
76 val |= bytes[1] << 16;
int inet_aton(const char *cp, struct in_addr *inp)