Make use of gethostname() conditional on it being available
authorDan Fandrich <dan@coneharvesters.com>
Fri, 28 Nov 2008 22:41:14 +0000 (22:41 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Fri, 28 Nov 2008 22:41:14 +0000 (22:41 +0000)
ares_getnameinfo.c
ares_init.c
config-win32.h

index 7bd4eca..c75e944 100644 (file)
@@ -225,6 +225,7 @@ static void nameinfo_callback(void *arg, int status, int timeouts, struct hosten
          We do this by determining our own domain name, then searching the string
          for this domain name and removing it.
        */
+#ifdef HAVE_GETHOSTNAME
       if (niquery->flags & ARES_NI_NOFQDN)
         {
            char buf[255];
@@ -237,6 +238,7 @@ static void nameinfo_callback(void *arg, int status, int timeouts, struct hosten
                  *end = 0;
              }
         }
+#endif
       niquery->callback(niquery->arg, ARES_SUCCESS, niquery->timeouts, (char *)(host->h_name),
                         service);
       return;
index 12161f3..7c355c3 100644 (file)
@@ -966,7 +966,9 @@ static int init_by_defaults(ares_channel channel)
      */
     size_t len = 64;
     int res;
+    channel->ndomains = 0; /* default to none */
 
+#ifdef HAVE_GETHOSTNAME
     hostname = malloc(len);
     if(!hostname) {
       rc = ARES_ENOMEM;
@@ -994,7 +996,6 @@ static int init_by_defaults(ares_channel channel)
 
     } while(0);
 
-    channel->ndomains = 0; /* default to none */
     if (strchr(hostname, '.'))  {
       /* a dot was found */
 
@@ -1010,6 +1011,7 @@ static int init_by_defaults(ares_channel channel)
       }
       channel->ndomains = 1;
     }
+#endif
   }
 
   if (channel->nsort == -1) {
index 2245b03..dde9978 100644 (file)
@@ -97,6 +97,9 @@
 /* Define if you have the strnicmp function. */
 #define HAVE_STRNICMP 1
 
+/* Define if you have the gethostname function.  */
+#define HAVE_GETHOSTNAME 1
+
 /* Define if you have the recv function. */
 #define HAVE_RECV 1