diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-09-19 10:19:21 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-09-20 08:07:46 +0200 |
commit | a6451487d4433becf751f8dca1e5b41e691b2a70 (patch) | |
tree | eaa2f8ec971f434c8d74ccd46c5b64abdee0c178 /lib | |
parent | b10464399b6d63a9e9a2daa92eb737603dc10509 (diff) |
urlapi: 'scheme' is always true
Fixes warning detected by PVS-Studio
Fixes #4374
Diffstat (limited to 'lib')
-rw-r--r-- | lib/urlapi.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/lib/urlapi.c b/lib/urlapi.c index 779ca3f78..65e5ef58d 100644 --- a/lib/urlapi.c +++ b/lib/urlapi.c @@ -1084,24 +1084,23 @@ CURLUcode curl_url_get(CURLU *u, CURLUPart what, else return CURLUE_NO_SCHEME; - if(scheme) { - h = Curl_builtin_scheme(scheme); - if(!port && (flags & CURLU_DEFAULT_PORT)) { - /* there's no stored port number, but asked to deliver - a default one for the scheme */ - if(h) { - msnprintf(portbuf, sizeof(portbuf), "%ld", h->defport); - port = portbuf; - } - } - else if(port) { - /* there is a stored port number, but asked to inhibit if it matches - the default one for the scheme */ - if(h && (h->defport == u->portnum) && - (flags & CURLU_NO_DEFAULT_PORT)) - port = NULL; + h = Curl_builtin_scheme(scheme); + if(!port && (flags & CURLU_DEFAULT_PORT)) { + /* there's no stored port number, but asked to deliver + a default one for the scheme */ + if(h) { + msnprintf(portbuf, sizeof(portbuf), "%ld", h->defport); + port = portbuf; } } + else if(port) { + /* there is a stored port number, but asked to inhibit if it matches + the default one for the scheme */ + if(h && (h->defport == u->portnum) && + (flags & CURLU_NO_DEFAULT_PORT)) + port = NULL; + } + if(h && !(h->flags & PROTOPT_URLOPTIONS)) options = NULL; |