aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-02-22 20:58:43 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-02-22 21:00:03 +0000
commite6e8b144053f4eeda369e53cde01056daceddd03 (patch)
tree422c4528c58cc967ae045ffdf37c8eadab2d15da
parentb914e7ed02d7e69cfcc47e8a3f47eaaaf111b4cb (diff)
tool_cfgable: Removed list_engine flag from config structure
In preparation for separating the global config options from the per operation config options, reworked the list engines code to not use a member variable in the Configurable structure.
-rw-r--r--src/tool_cfgable.h1
-rw-r--r--src/tool_getparam.c7
-rw-r--r--src/tool_getparam.h1
-rw-r--r--src/tool_operate.c13
-rw-r--r--src/tool_parsecfg.c5
5 files changed, 14 insertions, 13 deletions
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 2462ac7cd..9cc262526 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -120,7 +120,6 @@ struct Configurable {
char *pubkey;
char *hostpubmd5;
char *engine;
- bool list_engines;
bool crlf;
char *customrequest;
char *krblevel;
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 5e7962cfc..05dd64853 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -1310,7 +1310,7 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
case 'f': /* crypto engine */
GetStr(&config->engine, nextarg);
if(config->engine && curlx_raw_equal(config->engine,"list"))
- config->list_engines = TRUE;
+ return PARAM_ENGINES_REQUESTED;
break;
case 'g': /* CA info PEM file */
/* CA cert directory */
@@ -1819,7 +1819,7 @@ ParameterError parse_args(struct Configurable *config, int argc,
orig_opt = argv[i];
if(curlx_strequal(":", argv[i]) &&
- ((config->url_list && config->url_list->url) || config->list_engines)) {
+ (config->url_list && config->url_list->url)) {
/* Allocate the next config */
config->next = malloc(sizeof(struct Configurable));
@@ -1865,7 +1865,8 @@ ParameterError parse_args(struct Configurable *config, int argc,
}
}
- if(result && result != PARAM_HELP_REQUESTED) {
+ if(result && result != PARAM_HELP_REQUESTED &&
+ result != PARAM_ENGINES_REQUESTED) {
const char *reason = param2text(result);
if(!curlx_strequal(":", orig_opt))
diff --git a/src/tool_getparam.h b/src/tool_getparam.h
index cf1496c50..1fac8daef 100644
--- a/src/tool_getparam.h
+++ b/src/tool_getparam.h
@@ -30,6 +30,7 @@ typedef enum {
PARAM_REQUIRES_PARAMETER,
PARAM_BAD_USE,
PARAM_HELP_REQUESTED,
+ PARAM_ENGINES_REQUESTED,
PARAM_GOT_EXTRA_PARAMETER,
PARAM_BAD_NUMERIC,
PARAM_NEGATIVE_NUMERIC,
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 0a3c4f6ac..f6ebf5f3e 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -1826,14 +1826,13 @@ CURLcode operate(struct Configurable *config, int argc, argv_item_t argv[])
/* Parse the command line arguments */
ParameterError res = parse_args(config, argc, argv);
if(res) {
- if(res != PARAM_HELP_REQUESTED)
+ result = CURLE_OK;
+
+ /* Check if we were asked to list the SSL engines */
+ if(res == PARAM_ENGINES_REQUESTED)
+ tool_list_engines(config->easy);
+ else if(res != PARAM_HELP_REQUESTED)
result = CURLE_FAILED_INIT;
- else
- result = CURLE_OK;
- }
- /* Check if we were asked to list the SSL engines */
- else if(config->list_engines) {
- tool_list_engines(config->easy);
}
/* Perform the main operations */
else {
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index 71be83d71..44d7001f0 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -230,7 +230,8 @@ int parseconfig(const char *filename,
if(!strcmp(filename, "-")) {
filename = (char *)"<stdin>";
}
- if(PARAM_HELP_REQUESTED != res) {
+ if(res != PARAM_HELP_REQUESTED &&
+ res != PARAM_ENGINES_REQUESTED) {
const char *reason = param2text(res);
warnf(config, "%s:%d: warning: '%s' %s\n",
filename, lineno, option, reason);