diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-07-01 06:58:47 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-07-01 06:58:47 +0000 |
commit | 097281f45946120240a5864473d9627bc394532b (patch) | |
tree | 3c977dbe5621b0b5a15b6dcddf33bb7f73d37c3d | |
parent | 087748c48eef2bf986660b628291dad857faca55 (diff) |
Gisle Vanem made this build fine with djgpp and the Watt-32 stack.
-rw-r--r-- | ares/ares_init.c | 18 | ||||
-rw-r--r-- | ares/ares_private.h | 9 | ||||
-rw-r--r-- | ares/ares_process.c | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/ares/ares_init.c b/ares/ares_init.c index bd2323452..c5e35d060 100644 --- a/ares/ares_init.c +++ b/ares/ares_init.c @@ -506,6 +506,24 @@ DhcpNameServer free(resolvers); } +#elif defined(WATT32) + int i; + + sock_init(); + for (i = 0; def_nameservers[i]; i++) + ; + if (i == 0) + return ARES_SUCCESS; /* use localhost DNS server */ + + nservers = i; + servers = calloc(sizeof(*servers), i); + if (!servers) + return ARES_ENOMEM; + + for (i = 0; def_nameservers[i]; i++) + servers[i].addr.s_addr = htonl(def_nameservers[i]); + status = ARES_EOF; + #else { char *p; diff --git a/ares/ares_private.h b/ares/ares_private.h index 7a755e004..caff53b34 100644 --- a/ares/ares_private.h +++ b/ares/ares_private.h @@ -27,6 +27,15 @@ #define closesocket(x) close(x) #endif +#ifdef WATT32 +#include <tcp.h> +#include <sys/ioctl.h> +#undef closesocket +#define closesocket(s) close_s(s) +#define select(n,r,w,x,t) select_s(n,r,w,x,t) +#define writev(s,v,c) writev_s(s,v,c) +#endif + #define DEFAULT_TIMEOUT 5 #define DEFAULT_TRIES 4 #ifndef INADDR_NONE diff --git a/ares/ares_process.c b/ares/ares_process.c index 6a7585c0a..a8dd0c750 100644 --- a/ares/ares_process.c +++ b/ares/ares_process.c @@ -458,7 +458,7 @@ static int open_tcp_socket(ares_channel channel, struct server_state *server) /* Set the socket non-blocking. */ -#ifdef WIN32 +#if defined(WIN32) || defined(WATT32) flags = 1; ioctlsocket(s, FIONBIO, &flags); #else |