From: Daniel Stenberg Date: Thu, 14 Oct 2010 20:17:32 +0000 (+0200) Subject: options: check for features for some options X-Git-Tag: curl-7_21_3~140 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=11e131c9f987ca5649a6ac05885dd5701bd46424;p=thirdparty%2Fcurl.git options: check for features for some options Some options, such as the automatic decompression and some SSL related ones now will bail out if the underlying libcurl doesn't have support for the particular feature needed. --- diff --git a/src/main.c b/src/main.c index 95b47ea3a2..8a942de077 100644 --- a/src/main.c +++ b/src/main.c @@ -2116,6 +2116,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ break; case 'j': /* --compressed */ + if(toggle && !(curlinfo->features & CURL_VERSION_LIBZ)) + return PARAM_LIBCURL_DOESNT_SUPPORT; config->encoding = toggle; break; @@ -2260,6 +2262,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ case '$': /* more options without a short option */ switch(subletter) { case 'a': /* --ftp-ssl */ + if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) + return PARAM_LIBCURL_DOESNT_SUPPORT; config->ftp_ssl = toggle; break; case 'b': /* --ftp-pasv */ @@ -2351,12 +2355,16 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ GetStr(&config->ftp_alternative_to_user, nextarg); break; case 'v': /* --ftp-ssl-reqd */ + if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) + return PARAM_LIBCURL_DOESNT_SUPPORT; config->ftp_ssl_reqd = toggle; break; case 'w': /* --no-sessionid */ config->disable_sessionid = (bool)(!toggle); break; case 'x': /* --ftp-ssl-control */ + if(toggle && !(curlinfo->features & CURL_VERSION_SSL)) + return PARAM_LIBCURL_DOESNT_SUPPORT; config->ftp_ssl_control = toggle; break; case 'y': /* --ftp-ssl-ccc */