From: Yang Tse Date: Fri, 16 Feb 2007 19:17:05 +0000 (+0000) Subject: add debug messages for fopen() failures X-Git-Tag: curl-7_16_2~298 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4dc453c08796da93eaa82a0af36029c265893300;p=thirdparty%2Fcurl.git add debug messages for fopen() failures --- diff --git a/ares/ares_gethostbyaddr.c b/ares/ares_gethostbyaddr.c index 41bf916bf6..6c80eb941f 100644 --- a/ares/ares_gethostbyaddr.c +++ b/ares/ares_gethostbyaddr.c @@ -216,9 +216,26 @@ static int file_lookup(union ares_addr *addr, int family, struct hostent **host) return ARES_ENOTFOUND; #endif + int error; + fp = fopen(PATH_HOSTS, "r"); if (!fp) - return ARES_ENOTFOUND; + { + error = ERRNO; + switch(error) + { + case ENOENT: + return ARES_ENOTFOUND; + break; + 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 (family != (*host)->h_addrtype) diff --git a/ares/ares_search.c b/ares/ares_search.c index b05b4a833f..e63afff052 100644 --- a/ares/ares_search.c +++ b/ares/ares_search.c @@ -216,6 +216,7 @@ static int single_domain(ares_channel channel, const char *name, char **s) char *line = NULL; int linesize, status; const char *p, *q; + int error; /* If the name contains a trailing dot, then the single query is the name * sans the trailing dot. @@ -265,6 +266,22 @@ static int single_domain(ares_channel channel, const char *name, char **s) if (status != ARES_SUCCESS) return status; } + else + { + error = ERRNO; + switch(error) + { + case ENOENT: + break; + default: + DEBUGF(fprintf(stderr, "fopen() failed with error: %d %s\n", + error, strerror(error))); + DEBUGF(fprintf(stderr, "Error opening file: %s\n", + hostaliases)); + *s = NULL; + return ARES_EFILE; + } + } } } diff --git a/tests/libtest/lib505.c b/tests/libtest/lib505.c index 85ce38b327..098e8f9e06 100644 --- a/tests/libtest/lib505.c +++ b/tests/libtest/lib505.c @@ -43,6 +43,7 @@ int test(char *URL) int hd ; struct_stat file_info; struct curl_slist *hl; + int error; struct curl_slist *headerlist=NULL; const char *buf_1 = "RNFR 505"; @@ -57,6 +58,9 @@ int test(char *URL) hd = stat(arg2, &file_info); if(hd == -1) { /* can't open file, bail out */ + error = ERRNO; + fprintf(stderr, "stat() failed with error: %d %s\n", + error, strerror(error)); fprintf(stderr, "WARNING: cannot open file %s\n", arg2); return -1; } @@ -71,6 +75,10 @@ int test(char *URL) an example! */ hd_src = fopen(arg2, "rb"); if(NULL == hd_src) { + error = ERRNO; + fprintf(stderr, "fopen() failed with error: %d %s\n", + error, strerror(error)); + fprintf(stderr, "Error opening file: %s\n", arg2); return -2; /* if this happens things are major weird */ } diff --git a/tests/libtest/lib525.c b/tests/libtest/lib525.c index ce12b3b84c..14e0c0c762 100644 --- a/tests/libtest/lib525.c +++ b/tests/libtest/lib525.c @@ -25,6 +25,7 @@ int test(char *URL) CURL *curl; FILE *hd_src ; int hd ; + int error; struct_stat file_info; int running; char done=FALSE; @@ -48,6 +49,13 @@ int test(char *URL) fdopen() from the previous descriptor, but hey this is just an example! */ hd_src = fopen(arg2, "rb"); + if(NULL == hd_src) { + error = ERRNO; + fprintf(stderr, "fopen() failed with error: %d %s\n", + error, strerror(error)); + fprintf(stderr, "Error opening file: %s\n", arg2); + return TEST_ERR_MAJOR_BAD; + } if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { fprintf(stderr, "curl_global_init() failed\n");