You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by si...@apache.org on 2006/12/13 20:38:02 UTC

svn commit: r486812 - /spamassassin/trunk/spamc/libspamc.c

Author: sidney
Date: Wed Dec 13 11:38:01 2006
New Revision: 486812

URL: http://svn.apache.org/viewvc?view=rev&rev=486812
Log:
bug 5172: safer fix, conditionalized for Cygwin and fail safe if code uses symbols instead of defines

Modified:
    spamassassin/trunk/spamc/libspamc.c

Modified: spamassassin/trunk/spamc/libspamc.c
URL: http://svn.apache.org/viewvc/spamassassin/trunk/spamc/libspamc.c?view=diff&rev=486812&r1=486811&r2=486812
==============================================================================
--- spamassassin/trunk/spamc/libspamc.c (original)
+++ spamassassin/trunk/spamc/libspamc.c Wed Dec 13 11:38:01 2006
@@ -1693,9 +1693,6 @@
                       "getaddrinfo(%s) failed: %s",
                       hostname, gai_strerror(origerr));
                 switch (origerr) { 
-#ifndef EAI_ADDRFAMILY
- #define EAI_ADDRFAMILY 1
-#endif
                 case EAI_AGAIN:
                     errbits |= 1;
                     break;
@@ -1704,14 +1701,16 @@
                 case EAI_BADFLAGS: /*ai_flags is invalid*/
                 case EAI_NONAME: /*node or service unknown*/
                 case EAI_SERVICE: /*service not available*/
+/* work around Cygwin IPv6 patch - err codes not defined in Windows aren't in patch */
+#if  !defined(__CYGWIN__) || defined(EAI_ADDRFAMILY)
                 case EAI_ADDRFAMILY: /*no addresses in requested family*/
+#endif
+#if  !defined(__CYGWIN__) || defined(EAI_SYSTEM)
+                case EAI_SYSTEM: /*system error, check errno*/
+#endif
                 case EAI_NODATA: /*address exists, but no data*/
                 case EAI_MEMORY: /*out of memory*/
                 case EAI_FAIL: /*name server returned permanent error*/
-#ifndef EAI_SYSTEM
- #define EAI_SYSTEM    11
-#endif
-                case EAI_SYSTEM: /*system error, check errno*/
                     errbits |= 2;
                     break;
 #else