if (input[pos] == ':') {
if (colon < 8)
return 0;
+ if (ii == 8)
+ return 0;
colon = ii;
pos++;
}
while (input[++pos] == '*' || input[pos] == ':') ;
if (input[pos] != '\0' || colon < 8)
return 0;
+ if (part && ii < 8)
+ ip->in6_16[ii++] = htons(part);
if (pbits)
*pbits = ii * 16;
return pos;
default:
return 0;
}
+ if (input[pos] != '\0')
+ return 0;
finish:
if (colon < 8) {
unsigned int jj;