]> granicus.if.org Git - python/commitdiff
Do not use the system getaddrinfo on Mac OS X. Fixes bug #445928.
authorMartin v. Löwis <martin@v.loewis.de>
Fri, 3 Aug 2001 10:02:29 +0000 (10:02 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Fri, 3 Aug 2001 10:02:29 +0000 (10:02 +0000)
Since getnameinfo is not implemented, remove __APPLE__ check here.

Modules/socketmodule.c

index 706ca78bcd7f81c992700dcee6f7b1512d3e8e99..e6a9ec82efcf3e6130bac91e2c24cb49ccda283c 100644 (file)
@@ -218,15 +218,25 @@ int inet_pton (int af, const char *src, void *dst);
 const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
 #endif
 
+#ifdef __APPLE__
+/* On OS X, getaddrinfo returns no error indication of lookup
+   failure, so we must use the emulation instead of the libinfo
+   implementation. Unfortunately, performing an autoconf test
+   for this bug would require DNS access for the machine performing
+   the configuration, which is not acceptable. Therefore, we
+   determine the bug just by checking for __APPLE__. If this bug
+   gets ever fixed, perhaps checking for sys/version.h would be
+   appropriate, which is 10/0 on the system with the bug. */
+#undef HAVE_GETADDRINFO
+/* avoid clashes with the C library definition of the symbol. */
+#define getaddrinfo fake_getaddrinfo
+#endif
+
 /* I know this is a bad practice, but it is the easiest... */
-/* XXX Temporarily work around bug #445928:
-   getaddrinfo on Darwin seems to return an empty result list, with
-   no error, even if host lookup ought to work fine. So use the
-   emulation code for now. */
-#if !defined(HAVE_GETADDRINFO) || defined(__APPLE__)
+#if !defined(HAVE_GETADDRINFO)
 #include "getaddrinfo.c"
 #endif
-#if !defined(HAVE_GETNAMEINFO) || defined(__APPLE__)
+#if !defined(HAVE_GETNAMEINFO)
 #include "getnameinfo.c"
 #endif