summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-08-06 11:49:03 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-08-07 14:45:39 +0200
commitd39ae9d493f5e3abc1241d6e7ff89a885be1387a (patch)
tree8bab27cc6fd29111a0ed33433eee3f6e37618e6c
parentf933449d3b6c24e66d4a0c590bca3e7b2a39140d (diff)
downloadcurl-d39ae9d493f5e3abc1241d6e7ff89a885be1387a.tar.gz
curl: use CURLINFO_PROTOCOL to check for HTTP(s)
... instead of CURLINFO_EFFECTIVE_URL to avoid string operations.
-rw-r--r--src/tool_operate.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 8d526c328..923b5a99d 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -453,10 +453,9 @@ static CURLcode post_transfer(struct GlobalConfig *global,
/* If it returned OK. _or_ failonerror was enabled and it
returned due to such an error, check for HTTP transient
errors to retry on. */
- char *effective_url = NULL;
- curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url);
- if(effective_url &&
- checkprefix("http", effective_url)) {
+ long protocol;
+ curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
+ if((protocol == CURLPROTO_HTTP) || (protocol == CURLPROTO_HTTPS)) {
/* This was HTTP(S) */
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);