struct HandleData is now called struct SingleRequest, and is only for data that

is inited at the start of the DO action. I removed the Curl_transfer_keeper
struct completely, and I had to move out a few struct members (that had to
be set before DO or used after DONE) to the UrlState struct. The SingleRequest
struct is accessed with SessionHandle->req.

One of the biggest reasons for doing this was the bunch of duplicate struct
members in HandleData and Curl_transfer_keeper since it was really messy to
keep track of two variables with the same name and basically the same purpose!
This commit is contained in:
Daniel Stenberg
2007-11-24 23:16:55 +00:00
parent 5b809a3104
commit 13648f8ccd
16 changed files with 398 additions and 436 deletions

View File

@@ -528,9 +528,9 @@ void Curl_easy_addmulti(struct SessionHandle *data,
void Curl_easy_initHandleData(struct SessionHandle *data)
{
memset(&data->reqdata, 0, sizeof(struct HandleData));
memset(&data->req, 0, sizeof(struct SingleRequest));
data->reqdata.maxdownload = -1;
data->req.maxdownload = -1;
}
/*
@@ -676,11 +676,11 @@ void curl_easy_reset(CURL *curl)
{
struct SessionHandle *data = (struct SessionHandle *)curl;
Curl_safefree(data->reqdata.pathbuffer);
data->reqdata.pathbuffer=NULL;
Curl_safefree(data->state.pathbuffer);
data->state.pathbuffer=NULL;
Curl_safefree(data->reqdata.proto.generic);
data->reqdata.proto.generic=NULL;
Curl_safefree(data->state.proto.generic);
data->state.proto.generic=NULL;
/* zero out UserDefined data: */
Curl_freeset(data);