I'm not an especially seasoned C programmer, so I apologize if this is a dumb question:
In order to speed up a Perl program I wrote a module in C. This module has code to do the most mundane of tasks: convert an ipv4 address into a long. My local system is Linux, which has: int inet_aton(const char *cp, struct in_addr *inp);) but I would like it to be able to run on other systems, such as Solaris, which doesn't have inet_aton, but has: in_addr_t inet_addr(const char *cp); now, I've read various docs and I understand now, or at least will be able to figure out, how to use autoconf to detect which is available, then write #ifdefs, and pray that the user isn't on some platform which has different semantics for e.g. inet_addr() (or doesn't have it at all!) on their platform than are described in my system's man page. But this seems like too much work. Why should I even need to be aware that inet_aton() doesn't exist on other platforms? Why shouldn't I be able to do something like my_inet_int = AC_INET_ADDR(my_inet_string)? Surely lots of folks have written the #ifdefs. Why not include them with autoconf so I can be lazy and uninformed? :-) Austin