Commit a140e531 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

moved the protocol-specific free to allow easier multiple transfers

parent 7686ac3f
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -545,9 +545,6 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
    }
  }

  free(ftp);
  data->proto.ftp=NULL; /* it is gone */

  return CURLE_OK;
}

+0 −3
Original line number Diff line number Diff line
@@ -375,9 +375,6 @@ CURLcode Curl_http_done(struct connectdata *conn)
    *bytecount = http->readbytecount + http->writebytecount;
  }

  free(http);
  data->proto.http=NULL; /* it is gone */

  return CURLE_OK;
}

+11 −1
Original line number Diff line number Diff line
@@ -561,6 +561,10 @@ CURLcode curl_disconnect(CURLconnect *c_connect)

  struct UrlData *data = conn->data;

  if(data->proto.generic)
    free(data->proto.generic);
  data->proto.generic=NULL; /* it is gone */

#ifdef ENABLE_IPV6
  if(conn->res) /* host name info */
    freeaddrinfo(conn->res);
@@ -1644,7 +1648,13 @@ CURLcode curl_do(CURLconnect *in_conn)
  if(!conn || (conn->handle!= STRUCT_CONNECT)) {
    return CURLE_BAD_FUNCTION_ARGUMENT;
  }
  if(conn->state != CONN_INIT) {
  switch(conn->state) {
  case CONN_INIT:
  case CONN_DONE:
    /* these two states are OK */
    break;
  default:
    /* anything else is bad */
    return CURLE_BAD_CALLING_ORDER;
  }