mirror of
https://github.com/curl/curl.git
synced 2026-08-24 21:43:32 +03:00
options: API for meta-data about easy options
const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLoption id); const struct curl_easyoption * curl_easy_option_next(const struct curl_easyoption *prev); The purpose is to provide detailed enough information to allow for example libcurl bindings to get option information at run-time about what easy options that exist and what arguments they expect. Assisted-by: Jeroen Ooms Closes #5365
This commit is contained in:
parent
9ee5701f12
commit
6ebe63fac2
22 changed files with 1019 additions and 58 deletions
|
|
@ -720,6 +720,9 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||
argptr = (char *)va_arg(param, void *);
|
||||
if(argptr) {
|
||||
struct curl_slist *cl;
|
||||
/* general protection against mistakes and abuse */
|
||||
if(strlen(argptr) > CURL_MAX_INPUT_LENGTH)
|
||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
||||
/* append the cookie file name to the list of file names, and deal with
|
||||
them later */
|
||||
cl = curl_slist_append(data->change.cookielist, argptr);
|
||||
|
|
@ -804,6 +807,9 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
|||
/* if cookie engine was not running, activate it */
|
||||
data->cookies = Curl_cookie_init(data, NULL, NULL, TRUE);
|
||||
|
||||
/* general protection against mistakes and abuse */
|
||||
if(strlen(argptr) > CURL_MAX_INPUT_LENGTH)
|
||||
return CURLE_BAD_FUNCTION_ARGUMENT;
|
||||
argptr = strdup(argptr);
|
||||
if(!argptr || !data->cookies) {
|
||||
result = CURLE_OUT_OF_MEMORY;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue