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)
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.
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;
+ }
+ }
}
}