aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tool_operate.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index ed581e89e..bbefa8298 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -879,6 +879,8 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
if(built_in_protos & CURLPROTO_HTTP) {
+ long postRedir = 0;
+
my_setopt(curl, CURLOPT_FOLLOWLOCATION,
config->followlocation);
my_setopt(curl, CURLOPT_UNRESTRICTED_AUTH,
@@ -916,10 +918,13 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
/* curl 7.19.1 (the 301 version existed in 7.18.2),
303 was added in 7.26.0 */
- my_setopt(curl, CURLOPT_POSTREDIR,
- (config->post301 ? CURL_REDIR_POST_301 : 0) |
- (config->post302 ? CURL_REDIR_POST_302 : 0) |
- (config->post303 ? CURL_REDIR_POST_303 : 0));
+ if(config->post301)
+ postRedir |= CURL_REDIR_POST_301;
+ if(config->post302)
+ postRedir |= CURL_REDIR_POST_302;
+ if(config->post303)
+ postRedir |= CURL_REDIR_POST_303;
+ my_setopt(curl, CURLOPT_POSTREDIR, postRedir);
/* new in libcurl 7.21.6 */
if(config->encoding)