From 2825f46d950ca9b0e269ed8dc6a97c5238a17c30 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 18 Aug 2018 16:17:05 +0200 Subject: CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size This is step 3 of #2888. Fixes #2888 Closes #2896 --- lib/setopt.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/setopt.c') diff --git a/lib/setopt.c b/lib/setopt.c index 475a33798..4a71f9ae4 100644 --- a/lib/setopt.c +++ b/lib/setopt.c @@ -1940,6 +1940,22 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, break; + case CURLOPT_UPLOAD_BUFFERSIZE: + /* + * The application kindly asks for a differently sized upload buffer. + * Cap it to sensible. + */ + arg = va_arg(param, long); + + if(arg > UPLOADBUFFER_MAX) + arg = UPLOADBUFFER_MAX; + else if(arg < UPLOADBUFFER_MIN) + arg = UPLOADBUFFER_MIN; + + data->set.upload_buffer_size = arg; + Curl_safefree(data->state.ulbuf); /* force a realloc next opportunity */ + break; + case CURLOPT_NOSIGNAL: /* * The application asks not to set any signal() or alarm() handlers, -- cgit v1.2.3