* fake-addrinfo.h (getaddrinfo) [_AIX]: Declare and initialize variable "ai"
authorKen Raeburn <raeburn@mit.edu>
Thu, 25 Apr 2002 00:43:35 +0000 (00:43 +0000)
committerKen Raeburn <raeburn@mit.edu>
Thu, 25 Apr 2002 00:43:35 +0000 (00:43 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14420 dc483132-0cff-0310-8789-dd5450dbe970

src/include/ChangeLog
src/include/fake-addrinfo.h

index ad3d83cdfc95cac62bccb3c07103fcabdd62aa65..56ad4e43d65bcef6c8596e094b8b169a4f7f4f6e 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-24  Ken Raeburn  <raeburn@mit.edu>
+
+       * fake-addrinfo.h (getaddrinfo) [_AIX]: Declare and initialize
+       variable "ai".
+
 2002-04-12  Ken Raeburn  <raeburn@mit.edu>
 
        * configure.in: Check for gethostbyname_r, gethostbyaddr_r,
index bcfabcc6d8d97c0984b2616996d51e87d599426a..64eb2536d37139d05c339fad05a6d3bfd0dc5812 100644 (file)
@@ -674,6 +674,9 @@ getaddrinfo (const char *name, const char *serv, const struct addrinfo *hint,
             struct addrinfo **result)
 {
     int aierr;
+#ifdef _AIX
+    struct addrinfo *ai;
+#endif
 
     aierr = (*gaiptr) (name, serv, hint, result);
     if (aierr || *result == 0)
@@ -751,26 +754,23 @@ getaddrinfo (const char *name, const char *serv, const struct addrinfo *hint,
 #endif
 
 #ifdef _AIX
-    for (; ai; ai = ai->ai_next) {
+    for (ai = *result; ai; ai = ai->ai_next) {
        /* AIX 4.3.3 libc is broken.  It doesn't set the family or len
           fields of the sockaddr structures.  */
        if (ai->ai_addr->sa_family == 0)
            ai->ai_addr->sa_family = ai->ai_family;
-#ifdef HAVE_SA_LEN /* always true on aix, actually */
+#ifdef HAVE_SA_LEN /* always true on AIX, actually */
        if (ai->ai_addr->sa_len == 0)
            ai->ai_addr->sa_len = ai->ai_addrlen;
 #endif
     }
 #endif
 
-    /* Not dealt with yet:
+    /* Not dealt with currently:
 
        - Some versions of GNU libc can lose some IPv4 addresses in
         certain cases when multiple IPv4 and IPv6 addresses are
-        available.
-
-       - Wrapping a possibly-missing system version, as we'll need to
-        do for Windows.  */
+        available.  */
 
     return 0;
 }