fix next_lookup() to continue searching even if c-ares failed to load the
authorDaniel Stenberg <daniel@haxx.se>
Wed, 28 Nov 2007 10:46:40 +0000 (10:46 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 28 Nov 2007 10:46:40 +0000 (10:46 +0000)
/etc/hosts file, pointed out by Erik Kline:
http://daniel.haxx.se/projects/c-ares/mail/c-ares-archive-2007-11/0027.shtml

ares_gethostbyname.c

index 8610cba..7c39ad1 100644 (file)
@@ -138,7 +138,11 @@ static void next_lookup(struct host_query *hquery, int status_code)
         case 'f':
           /* Host file lookup */
           status = file_lookup(hquery->name, hquery->family, &host);
-          if (status != ARES_ENOTFOUND)
+
+          /* this status check below previously checked for !ARES_ENOTFOUND,
+             but we should not assume that this single error code is the one
+             that can occur, as that is in fact no longer the case */
+          if (status == ARES_SUCCESS)
             {
               end_hquery(hquery, status, host);
               return;