Commit 0b5901be authored by Yang Tse's avatar Yang Tse
Browse files

easy: fix compiler warning: end-of-loop code not reached

parent 5965d455
Loading
Loading
Loading
Loading
+79 −85
Original line number Diff line number Diff line
@@ -626,15 +626,11 @@ CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...)
 */
CURL *curl_easy_duphandle(CURL *incurl)
{
  bool fail = TRUE;
  struct SessionHandle *data=(struct SessionHandle *)incurl;

  struct SessionHandle *outcurl = calloc(1, sizeof(struct SessionHandle));

  if(NULL == outcurl)
    return NULL; /* failure */

  for(;;) {
    goto fail;

  /*
   * We setup a few buffers we need. We should probably make them
@@ -643,12 +639,12 @@ CURL *curl_easy_duphandle(CURL *incurl)
   */
  outcurl->state.headerbuff = malloc(HEADERSIZE);
  if(!outcurl->state.headerbuff)
      break;
    goto fail;
  outcurl->state.headersize = HEADERSIZE;

  /* copy all userdefined values */
  if(Curl_dupset(outcurl, data) != CURLE_OK)
      break;
    goto fail;

  /* the connection cache is setup on demand */
  outcurl->state.connc = NULL;
@@ -667,7 +663,7 @@ CURL *curl_easy_duphandle(CURL *incurl)
                                        outcurl->cookies,
                                        data->set.cookiesession);
    if(!outcurl->cookies)
        break;
      goto fail;
  }
#endif   /* CURL_DISABLE_HTTP */

@@ -677,23 +673,22 @@ CURL *curl_easy_duphandle(CURL *incurl)
  if(data->change.cookielist) {
    outcurl->change.cookielist =
      Curl_slist_duplicate(data->change.cookielist);

    if(!outcurl->change.cookielist)
        break;
      goto fail;
  }
#endif   /* CURL_DISABLE_HTTP */

  if(data->change.url) {
    outcurl->change.url = strdup(data->change.url);
    if(!outcurl->change.url)
        break;
      goto fail;
    outcurl->change.url_alloc = TRUE;
  }

  if(data->change.referer) {
    outcurl->change.referer = strdup(data->change.referer);
    if(!outcurl->change.referer)
        break;
      goto fail;
    outcurl->change.referer_alloc = TRUE;
  }

@@ -701,7 +696,7 @@ CURL *curl_easy_duphandle(CURL *incurl)
  /* If we use ares, we clone the ares channel for the new handle */
  if(ARES_SUCCESS != ares_dup(&outcurl->state.areschannel,
                              data->state.areschannel))
      break;
    goto fail;
#endif

#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
@@ -717,11 +712,12 @@ CURL *curl_easy_duphandle(CURL *incurl)

  outcurl->magic = CURLEASY_MAGIC_NUMBER;

    fail = FALSE; /* we reach this point and thus we are OK */
    break;
  }
  /* we reach this point and thus we are OK */

  return outcurl;

  fail:

  if(fail) {
  if(outcurl) {
    if(outcurl->state.connc &&
       (outcurl->state.connc->type == CONNCACHE_PRIVATE))
@@ -737,12 +733,10 @@ CURL *curl_easy_duphandle(CURL *incurl)
    if(outcurl->change.referer)
      free(outcurl->change.referer);
    Curl_freeset(outcurl);
      free(outcurl); /* free the memory again */
      outcurl = NULL;
    }
    free(outcurl);
  }

  return outcurl;
  return NULL;
}

/*