summaryrefslogtreecommitdiff
path: root/lib/setopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/setopt.c')
-rw-r--r--lib/setopt.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/setopt.c b/lib/setopt.c
index bdfe86ac7..2347941cf 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -435,8 +435,15 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
/*
* Follow Location: header hints on a HTTP-server.
*/
- data->set.http_follow_location = (0 != va_arg(param, long)) ? TRUE : FALSE;
- break;
+ {
+ bool clear;
+ uarg = va_arg(param, unsigned long);
+ data->set.http_follow_location =
+ (uarg & (CURLFOLLOW_ENABLE|CURLFOLLOW_NO_CUSTOMREQUEST)) ? TRUE : FALSE;
+ clear = (uarg & CURLFOLLOW_NO_CUSTOMREQUEST) ? TRUE : FALSE;
+ data->set.redirect_clears_method = clear;
+ }
+ break;
case CURLOPT_UNRESTRICTED_AUTH:
/*