diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-05-22 23:25:43 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-05-23 23:31:43 +0200 |
commit | 4e86f2fc4e6c504c39baf5763f34225c41c1605b (patch) | |
tree | 88d23ab90f3df8dd3aff196ed65b48b69bb66e8a /src/tool_setopt.h | |
parent | 2a32f5f4579a42a7ebdf571772bc4517fa19fab3 (diff) | |
download | curl-4e86f2fc4e6c504c39baf5763f34225c41c1605b.tar.gz |
tool_setopt: for builds with disabled-proxy, skip all proxy setopts()
Reported-by: Marcel Raad
Fixes #3926
Closes #3929
Diffstat (limited to 'src/tool_setopt.h')
-rw-r--r-- | src/tool_setopt.h | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/src/tool_setopt.h b/src/tool_setopt.h index 663041f65..2266d1c9c 100644 --- a/src/tool_setopt.h +++ b/src/tool_setopt.h @@ -29,11 +29,14 @@ * Macros used in operate() */ -#define SETOPT_CHECK(v) do { \ - result = (v); \ - if(result) \ - goto show_error; \ -} WHILE_FALSE +#define SETOPT_CHECK(v,opt) do { \ + result = tool_real_error((v), opt); \ + if(result) \ + goto show_error; \ + } WHILE_FALSE + +/* allow removed features to simulate success: */ +CURLcode tool_real_error(CURLcode result, CURLoption tag); #ifndef CURL_DISABLE_LIBCURL_OPTION @@ -97,25 +100,25 @@ CURLcode tool_setopt(CURL *curl, bool str, struct GlobalConfig *config, const char *name, CURLoption tag, ...); #define my_setopt(x,y,z) \ - SETOPT_CHECK(tool_setopt(x, FALSE, global, #y, y, z)) + SETOPT_CHECK(tool_setopt(x, FALSE, global, #y, y, z), y) #define my_setopt_str(x,y,z) \ - SETOPT_CHECK(tool_setopt(x, TRUE, global, #y, y, z)) + SETOPT_CHECK(tool_setopt(x, TRUE, global, #y, y, z), y) #define my_setopt_enum(x,y,z) \ - SETOPT_CHECK(tool_setopt_enum(x, global, #y, y, setopt_nv_ ## y, z)) + SETOPT_CHECK(tool_setopt_enum(x, global, #y, y, setopt_nv_ ## y, z), y) #define my_setopt_flags(x,y,z) \ - SETOPT_CHECK(tool_setopt_flags(x, global, #y, y, setopt_nv_ ## y, z)) + SETOPT_CHECK(tool_setopt_flags(x, global, #y, y, setopt_nv_ ## y, z), y) #define my_setopt_bitmask(x,y,z) \ - SETOPT_CHECK(tool_setopt_bitmask(x, global, #y, y, setopt_nv_ ## y, z)) + SETOPT_CHECK(tool_setopt_bitmask(x, global, #y, y, setopt_nv_ ## y, z), y) #define my_setopt_mimepost(x,y,z) \ - SETOPT_CHECK(tool_setopt_mimepost(x, global, #y, y, z)) + SETOPT_CHECK(tool_setopt_mimepost(x, global, #y, y, z), y) #define my_setopt_slist(x,y,z) \ - SETOPT_CHECK(tool_setopt_slist(x, global, #y, y, z)) + SETOPT_CHECK(tool_setopt_slist(x, global, #y, y, z), y) #define res_setopt(x,y,z) tool_setopt(x, FALSE, global, #y, y, z) @@ -126,25 +129,25 @@ CURLcode tool_setopt(CURL *curl, bool str, struct GlobalConfig *config, /* No --libcurl, so pass options directly to library */ #define my_setopt(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_str(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_enum(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_flags(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_bitmask(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_mimepost(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define my_setopt_slist(x,y,z) \ - SETOPT_CHECK(curl_easy_setopt(x, y, z)) + SETOPT_CHECK(curl_easy_setopt(x, y, z), y) #define res_setopt(x,y,z) curl_easy_setopt(x,y,z) |