diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1997-09-04 02:13:14 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1997-09-04 02:13:14 +0000 |
commit | b5de78b6bb3e35f019b6745aacc33612db160afc (patch) | |
tree | abc98933159782a2574571ca359cd73617961e2c /socket.c | |
parent | 0fb53c7bb00e0057f0b5df5843a840ffcabd289a (diff) | |
download | fetchmail-b5de78b6bb3e35f019b6745aacc33612db160afc.tar.gz fetchmail-b5de78b6bb3e35f019b6745aacc33612db160afc.tar.bz2 fetchmail-b5de78b6bb3e35f019b6745aacc33612db160afc.zip |
inet_aton.
svn path=/trunk/; revision=1295
Diffstat (limited to 'socket.c')
-rw-r--r-- | socket.c | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -25,6 +25,16 @@ #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 @@ -32,13 +42,24 @@ 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); |