#ifndef INADDR_NONE
#define INADDR_NONE (-1)
#endif
-
- /* Have to use inet_addr() instead */
- char *ip_addr;
#ifdef HAVE_INET_ATON
struct in_addr buf;
+#else
+ /* Have to use inet_addr() instead */
+ unsigned long packed_addr;
+#endif
+ char *ip_addr;
- if (!PyArg_ParseTuple(args, "s:inet_aton", &ip_addr)) {
+ if (!PyArg_ParseTuple(args, "s:inet_aton", &ip_addr))
return NULL;
- }
+
+#ifdef HAVE_INET_ATON
if (inet_aton(ip_addr, &buf))
return PyString_FromStringAndSize((char *)(&buf),
sizeof(buf));
"illegal IP address string passed to inet_aton");
return NULL;
-#else /* In case you don't have inet_aton() */
+#else /* ! HAVE_INET_ATON */
/* XXX Problem here: inet_aton('255.255.255.255') raises
an exception while it should be a valid address. */
- unsigned long packed_addr;
-
packed_addr = inet_addr(ip_addr);
if (packed_addr == INADDR_NONE) { /* invalid address */
"illegal IP address string passed to inet_aton");
return NULL;
}
-
return PyString_FromStringAndSize((char *) &packed_addr,
sizeof(packed_addr));
#endif