the easy interface, it CANNOT be used by a mixture.
case CURLM_STATE_INIT:
/* init this transfer. */
easy->result=Curl_pretransfer(easy->easy_handle);
+
if(CURLE_OK == easy->result) {
/* after init, go CONNECT */
easy->state = CURLM_STATE_CONNECT;
result = CURLM_CALL_MULTI_PERFORM;
+
+ easy->easy_handle->state.used_interface = Curl_if_multi;
}
break;
case CURLM_STATE_CONNECT:
struct connectdata *conn=NULL;
char *newurl = NULL; /* possibly a new URL to follow to! */
+ data->state.used_interface = Curl_if_easy;
+
res = Curl_pretransfer(data);
if(res)
return res;
#define MAX_CURL_PASSWORD_LENGTH 256
struct UrlState {
+ enum {
+ Curl_if_none,
+ Curl_if_easy,
+ Curl_if_multi
+ } used_interface;
+
/* buffers to store authentication data in, as parsed from input options */
char user[MAX_CURL_USER_LENGTH];
char passwd[MAX_CURL_PASSWORD_LENGTH];