fixed parsing of address to handle [<addr>]

This commit is contained in:
Joakim Eriksson 2011-03-22 10:42:38 +01:00
parent fe2c972ef3
commit 90ae09c7e5
2 changed files with 6 additions and 4 deletions

View file

@ -53,15 +53,17 @@ uiplib_ipaddrconv(const char *addrstr, uip_ipaddr_t *ipaddr)
value = 0;
zero = -1;
if(*addrstr == '[') addrstr++;
for(len = 0; len < sizeof(uip_ipaddr_t) - 1; addrstr++) {
c = *addrstr;
if(c == ':' || c == '\0') {
if(c == ':' || c == '\0' || c == ']') {
ipaddr->u8[len] = (value >> 8) & 0xff;
ipaddr->u8[len + 1] = value & 0xff;
len += 2;
value = 0;
if(c == '\0') {
if(c == '\0' || c == ']') {
break;
}