1999-03-07 Mark Kettenis <kettenis@gnu.org>
[kopensolaris-gnu/glibc.git] / resolv / getnetnamadr.c
index 9739995..abbc3a3 100644 (file)
@@ -44,6 +44,7 @@ static char sccsid_[] = "from getnetnamadr.c  1.4 (Coimbra) 93/06/03";
 static char rcsid[] = "$Id$";
 #endif /* LIBC_SCCS and not lint */
 
+#include <sys/types.h>
 #include <sys/param.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
@@ -57,9 +58,11 @@ static char rcsid[] = "$Id$";
 #include <errno.h>
 #include <string.h>
 
+#ifndef h_errno
 extern int h_errno;
+#endif
 
-#if defined(mips) && defined(SYSTYPE_BSD43)
+#if defined(mips) && defined(SYSTYPE_BSD43) && !defined(errno)
 extern int errno;
 #endif
 
@@ -126,9 +129,9 @@ static      char *net_aliases[MAXALIASES], netbuf[BUFSIZ+1];
        cp = answer->buf + HFIXEDSZ;
        if (!qdcount) {
                if (hp->aa)
-                       h_errno = HOST_NOT_FOUND;
+                       __set_h_errno (HOST_NOT_FOUND);
                else
-                       h_errno = TRY_AGAIN;
+                       __set_h_errno (TRY_AGAIN);
                return (NULL);
        }
        while (qdcount-- > 0)
@@ -196,7 +199,7 @@ static      char *net_aliases[MAXALIASES], netbuf[BUFSIZ+1];
                net_entry.n_aliases++;
                return (&net_entry);
        }
-       h_errno = TRY_AGAIN;
+       __set_h_errno (TRY_AGAIN);
        return (NULL);
 }
 
@@ -266,7 +269,7 @@ getnetbyname(net)
        struct netent *net_entry;
 
        if ((_res.options & RES_INIT) == 0 && res_init() == -1) {
-               h_errno = NETDB_INTERNAL;
+               __set_h_errno (NETDB_INTERNAL);
                return (NULL);
        }
        strcpy(&qbuf[0], net);