mirror of https://github.com/moparisthebest/curl
tool_operate: Moved required argument getting into separate function
This commit is contained in:
parent
89070d0e68
commit
f80ca7a05a
|
@ -234,32 +234,18 @@ static int operate_do(struct Configurable *config)
|
|||
** from outside of nested loops further down below.
|
||||
*/
|
||||
|
||||
if(config->userpwd && !config->xoauth2_bearer) {
|
||||
res = checkpasswd("host", &config->userpwd);
|
||||
if(res)
|
||||
goto quit_curl;
|
||||
}
|
||||
|
||||
if(config->proxyuserpwd) {
|
||||
res = checkpasswd("proxy", &config->proxyuserpwd);
|
||||
if(res)
|
||||
goto quit_curl;
|
||||
}
|
||||
/* Get the required aguments */
|
||||
res = get_args(config);
|
||||
if(res)
|
||||
goto quit_curl;
|
||||
|
||||
/* Check we have a url */
|
||||
if(!config->url_list || !config->url_list->url) {
|
||||
helpf(config->errors, "no URL specified!\n");
|
||||
res = CURLE_FAILED_INIT;
|
||||
goto quit_curl;
|
||||
}
|
||||
|
||||
if(!config->useragent)
|
||||
config->useragent = my_useragent();
|
||||
if(!config->useragent) {
|
||||
helpf(config->errors, "out of memory\n");
|
||||
res = CURLE_OUT_OF_MEMORY;
|
||||
goto quit_curl;
|
||||
}
|
||||
|
||||
/* On WIN32 we can't set the path to curl-ca-bundle.crt
|
||||
* at compile time. So we look here for the file in two ways:
|
||||
* 1: look at the environment variable CURL_CA_BUNDLE for a path
|
||||
|
|
|
@ -30,19 +30,10 @@
|
|||
#include "tool_cfgable.h"
|
||||
#include "tool_convert.h"
|
||||
#include "tool_operhlp.h"
|
||||
#include "tool_version.h"
|
||||
#include "tool_metalink.h"
|
||||
|
||||
#include "memdebug.h" /* keep this as LAST include */
|
||||
|
||||
/*
|
||||
* my_useragent: returns allocated string with default user agent
|
||||
*/
|
||||
char *my_useragent(void)
|
||||
{
|
||||
return strdup( CURL_NAME "/" CURL_VERSION );
|
||||
}
|
||||
|
||||
/*
|
||||
* Print list of OpenSSL supported engines
|
||||
*/
|
||||
|
@ -192,4 +183,3 @@ CURLcode get_url_file_name(char **filename, const char *url)
|
|||
|
||||
return CURLE_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
***************************************************************************/
|
||||
#include "tool_setup.h"
|
||||
|
||||
char *my_useragent(void);
|
||||
|
||||
void list_engines(const struct curl_slist *engines);
|
||||
|
||||
void clean_getout(struct Configurable *config);
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "tool_homedir.h"
|
||||
#include "tool_msgs.h"
|
||||
#include "tool_paramhlp.h"
|
||||
#include "tool_version.h"
|
||||
|
||||
#include "memdebug.h" /* keep this as LAST include */
|
||||
|
||||
|
@ -365,8 +366,8 @@ ParameterError str2offset(curl_off_t *val, const char *str)
|
|||
return PARAM_BAD_NUMERIC;
|
||||
}
|
||||
|
||||
CURLcode checkpasswd(const char *kind, /* for what purpose */
|
||||
char **userpwd) /* pointer to allocated string */
|
||||
static CURLcode checkpasswd(const char *kind, /* for what purpose */
|
||||
char **userpwd) /* pointer to allocated string */
|
||||
{
|
||||
char *psep;
|
||||
char *osep;
|
||||
|
@ -464,3 +465,40 @@ long delegation(struct Configurable *config, char *str)
|
|||
return CURLGSSAPI_DELEGATION_NONE;
|
||||
}
|
||||
|
||||
/*
|
||||
* my_useragent: returns allocated string with default user agent
|
||||
*/
|
||||
static char *my_useragent(void)
|
||||
{
|
||||
return strdup(CURL_NAME "/" CURL_VERSION);
|
||||
}
|
||||
|
||||
CURLcode get_args(struct Configurable *config)
|
||||
{
|
||||
CURLcode result = CURLE_OK;
|
||||
|
||||
/* Check we have a password for the given host user */
|
||||
if(config->userpwd && !config->xoauth2_bearer) {
|
||||
result = checkpasswd("host", &config->userpwd);
|
||||
if(result)
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Check we have a password for the given proxy user */
|
||||
if(config->proxyuserpwd) {
|
||||
result = checkpasswd("proxy", &config->proxyuserpwd);
|
||||
if(result)
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Check we have a user agent */
|
||||
if(!config->useragent) {
|
||||
config->useragent = my_useragent();
|
||||
if(!config->useragent) {
|
||||
helpf(config->errors, "out of memory\n");
|
||||
result = CURLE_OUT_OF_MEMORY;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ long proto2num(struct Configurable *config, long *val, const char *str);
|
|||
|
||||
ParameterError str2offset(curl_off_t *val, const char *str);
|
||||
|
||||
CURLcode checkpasswd(const char *kind, char **userpwd);
|
||||
CURLcode get_args(struct Configurable *config);
|
||||
|
||||
ParameterError add2list(struct curl_slist **list, const char *ptr);
|
||||
|
||||
|
|
Loading…
Reference in New Issue