]> granicus.if.org Git - python/commitdiff
Undefine addrinfo.h constants if the system header defined them.
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 6 Dec 2001 19:04:35 +0000 (19:04 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 6 Dec 2001 19:04:35 +0000 (19:04 +0000)
Fixes #486099.

Modules/addrinfo.h

index 686a4b8b7a1aab710a3e37c2ecf8b83e7b03c926..7f85d814a706ea549ad158a3590affb05707fe5c 100644 (file)
 /*
  * Error return codes from getaddrinfo()
  */
-#ifndef EAI_ADDRFAMILY
+#ifdef EAI_ADDRFAMILY
+/* If this is defined, there is a conflicting implementation
+   in the C library, which can't be used for some reason.
+   Make sure it won't interfere with this emulation. */
+
+#undef EAI_ADDRFAMILY
+#undef EAI_AGAIN
+#undef EAI_BADFLAGS
+#undef EAI_FAIL
+#undef EAI_FAMILY
+#undef EAI_MEMORY
+#undef EAI_NODATA
+#undef EAI_NONAME
+#undef EAI_SERVICE
+#undef EAI_SOCKTYPE
+#undef EAI_SYSTEM
+#undef EAI_BADHINTS
+#undef EAI_PROTOCOL
+#undef EAI_MAX
+#undef getaddrinfo
+#define getaddrinfo fake_getaddrinfo
+#endif
+
 #define        EAI_ADDRFAMILY   1      /* address family for hostname not supported */
 #define        EAI_AGAIN        2      /* temporary failure in name resolution */
 #define        EAI_BADFLAGS     3      /* invalid value for ai_flags */
 #define EAI_BADHINTS   12
 #define EAI_PROTOCOL   13
 #define EAI_MAX                14
-#endif
 
 /*
  * Flag values for getaddrinfo()
  */
-#ifndef AI_PASSIVE
+#ifdef AI_PASSIVE
+#undef AI_PASSIVE
+#undef AI_CANONNAME
+#undef AI_NUMERICHOST
+#undef AI_MASK
+#undef AI_ALL
+#undef AI_V4MAPPED_CFG
+#undef AI_ADDRCONFIG
+#undef AI_V4MAPPED
+#undef AI_DEFAULT
+#endif
+
 #define        AI_PASSIVE      0x00000001 /* get address to use bind() */
 #define        AI_CANONNAME    0x00000002 /* fill ai_canonname */
 #define        AI_NUMERICHOST  0x00000004 /* prevent name resolution */
@@ -65,7 +97,6 @@
 #define        AI_V4MAPPED     0x00000800 /* accept IPv4-mapped IPv6 address */
 /* special recommended flags for getipnodebyname */
 #define        AI_DEFAULT      (AI_V4MAPPED_CFG | AI_ADDRCONFIG)
-#endif
 
 #endif /* HAVE_GETADDRINFO */