diff options
-rw-r--r-- | src/tool_operate.c | 13 |
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) |