Commit 4dc453c0 authored by Yang Tse's avatar Yang Tse
Browse files

add debug messages for fopen() failures

parent a1d59839
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -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)
    {
      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)
+17 −0
Original line number Diff line number Diff line
@@ -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;
                }
            }
        }
    }

+8 −0
Original line number Diff line number Diff line
@@ -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 */
  }

+8 −0
Original line number Diff line number Diff line
@@ -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");