os400: make vsetopt() non-static as Curl_vsetopt() for os400 support.

Use it in curl_easy_setopt_ccsid().

Reported-by: jonrumsey on github
Fixes #3833
Closes #4028
This commit is contained in:
Patrick Monnerat 2019-06-16 01:05:53 +02:00
parent c97e8493a6
commit ef8d98bbba
3 changed files with 9 additions and 10 deletions

View File

@ -119,8 +119,11 @@ static CURLcode setstropt_userpwd(char *option, char **userp, char **passwdp)
#define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_VALUE(x) (x & 0xffff)
#define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) #define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000)
static CURLcode vsetopt(struct Curl_easy *data, CURLoption option, /*
va_list param) * Do not make Curl_vsetopt() static: it is called from
* packages/OS400/ccsidcurl.c.
*/
CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
{ {
char *argptr; char *argptr;
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
@ -2770,7 +2773,7 @@ CURLcode curl_easy_setopt(struct Curl_easy *data, CURLoption tag, ...)
va_start(arg, tag); va_start(arg, tag);
result = vsetopt(data, tag, arg); result = Curl_vsetopt(data, tag, arg);
va_end(arg); va_end(arg);
return result; return result;

View File

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -23,7 +23,6 @@
***************************************************************************/ ***************************************************************************/
CURLcode Curl_setstropt(char **charp, const char *s); CURLcode Curl_setstropt(char **charp, const char *s);
CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list arg);
va_list arg);
#endif /* HEADER_CURL_SETOPT_H */ #endif /* HEADER_CURL_SETOPT_H */

View File

@ -1314,12 +1314,9 @@ curl_easy_setopt_ccsid(CURL *curl, CURLoption tag, ...)
case CURLOPT_ERRORBUFFER: /* This is an output buffer. */ case CURLOPT_ERRORBUFFER: /* This is an output buffer. */
default: default:
{ result = Curl_vsetopt(curl, tag, arg);
long val = va_arg(arg, long);
result = curl_easy_setopt(curl, tag, val);
break; break;
} }
}
va_end(arg); va_end(arg);
return result; return result;