Ethernet Dns.cpp inet_aton incorrectly coded

I have v 1.0 of this library and I’m using arduino v 1.5.

There’s a problem with DNS lookups which seems to manifest itself when looking up local hostnames.

I think the problem is in inet_aton which is supposed to convert a string IP address to IPAddress type.

To find out it tests each character in the string for numerals:
while (*p &&
( (*p == ‘.’) || (*p >= ‘0’) || (*p <= ‘9’) ))

but any alphabetic character matches *p >= ‘0’

It should be:

while (*p &&
( (*p == ‘.’) || ((*p >= ‘0’) && (*p <= ‘9’)) ))

This may have been fixed in later releases but the change long doesn’t mention it.