Loading lib/multi.c +19 −18 Original line number Diff line number Diff line Loading @@ -1884,20 +1884,22 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, Curl_h2_http_1_1_error(data->conn)) { CURLcode ret = Curl_retry_request(data->conn, &newurl); infof(data, "Forcing HTTP/1.1 for NTLM"); if(!ret) { infof(data, "Downgrades to HTTP/1.1!\n"); data->set.httpversion = CURL_HTTP_VERSION_1_1; if(!ret) retry = (newurl)?TRUE:FALSE; else result = ret; if(retry) { /* if we are to retry, set the result to OK and consider the request as done */ /* clear the error message bit too as we ignore the one we got */ data->state.errorbuf = FALSE; if(!newurl) /* typically for HTTP_1_1_REQUIRED error on first flight */ newurl = strdup(data->change.url); /* if we are to retry, set the result to OK and consider the request as done */ retry = TRUE; result = CURLE_OK; done = TRUE; } else result = ret; } if(result) { Loading Loading @@ -1942,14 +1944,13 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, } else follow = FOLLOW_RETRY; result = multi_done(data, CURLE_OK, FALSE); if(!result) { (void)multi_done(data, CURLE_OK, FALSE); /* multi_done() might return CURLE_GOT_NOTHING */ result = Curl_follow(data, newurl, follow); if(!result) { multistate(data, CURLM_STATE_CONNECT); rc = CURLM_CALL_MULTI_PERFORM; } } free(newurl); } else { Loading Loading
lib/multi.c +19 −18 Original line number Diff line number Diff line Loading @@ -1884,20 +1884,22 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, Curl_h2_http_1_1_error(data->conn)) { CURLcode ret = Curl_retry_request(data->conn, &newurl); infof(data, "Forcing HTTP/1.1 for NTLM"); if(!ret) { infof(data, "Downgrades to HTTP/1.1!\n"); data->set.httpversion = CURL_HTTP_VERSION_1_1; if(!ret) retry = (newurl)?TRUE:FALSE; else result = ret; if(retry) { /* if we are to retry, set the result to OK and consider the request as done */ /* clear the error message bit too as we ignore the one we got */ data->state.errorbuf = FALSE; if(!newurl) /* typically for HTTP_1_1_REQUIRED error on first flight */ newurl = strdup(data->change.url); /* if we are to retry, set the result to OK and consider the request as done */ retry = TRUE; result = CURLE_OK; done = TRUE; } else result = ret; } if(result) { Loading Loading @@ -1942,14 +1944,13 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, } else follow = FOLLOW_RETRY; result = multi_done(data, CURLE_OK, FALSE); if(!result) { (void)multi_done(data, CURLE_OK, FALSE); /* multi_done() might return CURLE_GOT_NOTHING */ result = Curl_follow(data, newurl, follow); if(!result) { multistate(data, CURLM_STATE_CONNECT); rc = CURLM_CALL_MULTI_PERFORM; } } free(newurl); } else { Loading