diff options
author | Yang Tse <yangsita@gmail.com> | 2007-02-19 02:03:58 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2007-02-19 02:03:58 +0000 |
commit | 679a67566037cd74c608f78b8de165063d1c3f75 (patch) | |
tree | 09f6c70e0d2f7226e448a4afa644cb9729784a9a | |
parent | 385e6d0eea338bc49bceb0696f02c799732d90a1 (diff) | |
download | c-ares-679a67566037cd74c608f78b8de165063d1c3f75.tar.gz c-ares-679a67566037cd74c608f78b8de165063d1c3f75.tar.bz2 c-ares-679a67566037cd74c608f78b8de165063d1c3f75.zip |
add debug messages for initialization failures
-rw-r--r-- | ares_gethostbyaddr.c | 1 | ||||
-rw-r--r-- | ares_gethostbyname.c | 19 | ||||
-rw-r--r-- | ares_init.c | 4 | ||||
-rw-r--r-- | ares_search.c | 1 |
4 files changed, 23 insertions, 2 deletions
diff --git a/ares_gethostbyaddr.c b/ares_gethostbyaddr.c index 0faeaec..db0ac46 100644 --- a/ares_gethostbyaddr.c +++ b/ares_gethostbyaddr.c @@ -224,6 +224,7 @@ static int file_lookup(union ares_addr *addr, int family, struct hostent **host) switch(error) { case ENOENT: + case ESRCH: return ARES_ENOTFOUND; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", diff --git a/ares_gethostbyname.c b/ares_gethostbyname.c index 00d7886..1bd5ac9 100644 --- a/ares_gethostbyname.c +++ b/ares_gethostbyname.c @@ -248,6 +248,7 @@ static int file_lookup(const char *name, int family, struct hostent **host) FILE *fp; char **alias; int status; + int error; #ifdef WIN32 char PATH_HOSTS[MAX_PATH]; @@ -280,8 +281,22 @@ static int file_lookup(const char *name, int family, struct hostent **host) fp = fopen(PATH_HOSTS, "r"); if (!fp) - return ARES_ENOTFOUND; - + { + error = ERRNO; + switch(error) + { + case ENOENT: + case ESRCH: + return ARES_ENOTFOUND; + default: + DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", + error, strerror(error))); + DEBUGF(fprintf(stderr, "Error opening file: %s\n", + PATH_HOSTS)); + *host = NULL; + return ARES_EFILE; + } + } while ((status = ares__get_hostent(fp, family, host)) == ARES_SUCCESS) { if (strcasecmp((*host)->h_name, name) == 0) diff --git a/ares_init.c b/ares_init.c index 5268745..8f78fa4 100644 --- a/ares_init.c +++ b/ares_init.c @@ -639,6 +639,7 @@ DhcpNameServer error = ERRNO; switch(error) { case ENOENT: + case ESRCH: status = ARES_EOF; break; default: @@ -664,6 +665,7 @@ DhcpNameServer error = ERRNO; switch(error) { case ENOENT: + case ESRCH: status = ARES_EOF; break; default: @@ -690,6 +692,7 @@ DhcpNameServer error = ERRNO; switch(error) { case ENOENT: + case ESRCH: status = ARES_EOF; break; default: @@ -716,6 +719,7 @@ DhcpNameServer error = ERRNO; switch(error) { case ENOENT: + case ESRCH: status = ARES_EOF; break; default: diff --git a/ares_search.c b/ares_search.c index 4b898a7..4ff5453 100644 --- a/ares_search.c +++ b/ares_search.c @@ -273,6 +273,7 @@ static int single_domain(ares_channel channel, const char *name, char **s) switch(error) { case ENOENT: + case ESRCH: break; default: DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", |