diff options
Diffstat (limited to 'mdk-stage1/dns.c')
-rw-r--r-- | mdk-stage1/dns.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c index d1e67c78d..266864d37 100644 --- a/mdk-stage1/dns.c +++ b/mdk-stage1/dns.c @@ -23,7 +23,7 @@ // dietlibc can do hostname lookup, whereas glibc can't when linked statically :-( -#ifdef __LIBC_DIETLIBC__ +#if defined(__dietlibc__) #include <unistd.h> #include <string.h> @@ -67,14 +67,13 @@ char * mygethostbyaddr(char * ipnum) struct hostent * host; if (!inet_aton(ipnum, &in)) return NULL; - host = gethostbyaddr(&in, strlen((void *) &in), AF_INET); + host = gethostbyaddr(&in.s_addr, sizeof(in.s_addr) /* INADDRSZ */, AF_INET); if (host && host->h_name) return host->h_name; return NULL; } - -#else // __LIBC_DIETLIBC__ +#elif defined(__GLIBC__) #include <alloca.h> #include <sys/socket.h> @@ -210,4 +209,8 @@ int mygethostbyname(char * name, struct in_addr * addr) { return rc; } +#else + +#error "Unsupported C library" + #endif |