]> Pileus Git - ~andy/fetchmail/blobdiff - socket.c
inet_aton.
[~andy/fetchmail] / socket.c
index 260d7cf24a44dc4e64d4ce5b4e4d50bb6a0643f7..ca4f0e165f007a904624358de8a474e55a35eb21 100644 (file)
--- a/socket.c
+++ b/socket.c
 #endif
 #include "socket.h"
 
+#ifndef INET_ATON
+#ifndef  INADDR_NONE
+#ifdef   INADDR_BROADCAST
+#define  INADDR_NONE   INADDR_BROADCAST
+#else
+#define         INADDR_NONE    -1
+#endif
+#endif
+#endif /* INET_ATON */
+
 #ifdef SUNOS
 #include <memory.h>
 #endif
 int SockOpen(char *host, int clientPort)
 {
     int sock;
+#ifndef INET_ATON
+    unsigned long inaddr;
+#endif /* INET_ATON */
     struct sockaddr_in ad;
     struct hostent *hp;
 
     memset(&ad, 0, sizeof(ad));
     ad.sin_family = AF_INET;
 
-    if (!inet_aton(host, &ad.sin_addr))        /* accept a quad address */
+    /* we'll accept a quad address */
+#ifndef INET_ATON
+    inaddr = inet_addr(host);
+    if (inaddr != INADDR_NONE)
+        memcpy(&ad.sin_addr, &inaddr, sizeof(inaddr));
+    else
+#else
+    if (!inet_aton(host, &ad.sin_addr))
+#endif /* INET_ATON */
     {
         hp = gethostbyname(host);