[Python-Dev] Re: More socket questions (original) (raw)

Marangozov, Vladimir (Vladimir) vladimir.marangozov@optimay.com
Fri, 11 Apr 2003 04:38:12 -0400


Hi,

inet_aton() is a pretty simple parser of an IP address string, but it is not available on all setups. Libraries relying on it usually provide a local version. So do the same.

Search the Web for "inet_aton.c" and you'll hit a standard implementation, with all the niceties about the base encoding of each part of the IP address which follows the C convention: 0x - hex, 0 - octal, other - decimal. And thus, BTW, "ping 192.30.20.10" is not the same as "ping 192.030.020.010". So take that code, stuff it in my_inet_aton() and case closed.

You could use my_inet_aton() before calling gethostbyname('name') to see whether 'name' is an IP address and return immediately, but as I said, decent resolvers should do that for you. After all, their job is to give you an IP address in return. If you feed an IP address as an input, you should get it as a reply. Not all resolvers are decent, though. On top of that, some have bugs :-). I can't answer the question about netdb's status quo.

Cheers, Vladimir