Skip to content
Snippets Groups Projects
Commit a140e531 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

moved the protocol-specific free to allow easier multiple transfers

parent 7686ac3f
No related branches found
No related tags found
No related merge requests found
......@@ -545,9 +545,6 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
}
}
free(ftp);
data->proto.ftp=NULL; /* it is gone */
return CURLE_OK;
}
......
......@@ -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;
}
......
......@@ -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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment