aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tool_cfgable.c1
-rw-r--r--src/tool_cfgable.h6
-rw-r--r--src/tool_getparam.c6
-rw-r--r--src/tool_main.c5
-rw-r--r--src/tool_operate.c13
5 files changed, 17 insertions, 14 deletions
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c
index 9eb29ddb3..2a3c06ffa 100644
--- a/src/tool_cfgable.c
+++ b/src/tool_cfgable.c
@@ -32,7 +32,6 @@ void config_init(struct OperationConfig* config)
config->errors = stderr; /* default errors to stderr */
config->postfieldsize = -1;
- config->showerror = -1; /* will show errors */
config->use_httpget = FALSE;
config->create_dirs = FALSE;
config->maxredirs = DEFAULT_MAXREDIRS;
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 78d17c7d3..e88b97896 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -70,9 +70,6 @@ struct OperationConfig {
char *dns_interface; /* interface name */
char *dns_ipv4_addr; /* dot notation */
char *dns_ipv6_addr; /* dot notation */
- int showerror; /* -1 == unset, default => show errors
- 0 => -s is used to NOT show errors
- 1 => -S has been used to show errors */
char *userpwd;
char *login_options;
char *tls_username;
@@ -222,6 +219,9 @@ struct OperationConfig {
struct GlobalConfig {
CURL *easy; /* Once we have one, we keep it here */
+ int showerror; /* -1 == unset, default => show errors
+ 0 => -s is used to NOT show errors
+ 1 => -S has been used to show errors */
struct OperationConfig *first;
struct OperationConfig *current;
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 701f43d99..9cd996c90 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -1619,15 +1619,15 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
config->mute = config->noprogress = TRUE;
else
config->mute = config->noprogress = FALSE;
- if(config->showerror < 0)
+ if(global->showerror < 0)
/* if still on the default value, set showerror to the reverse of
toggle. This is to allow -S and -s to be used in an independent
order but still have the same effect. */
- config->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
+ global->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
break;
case 'S':
/* show errors */
- config->showerror = toggle?1:0; /* toggle on if used with -s */
+ global->showerror = toggle?1:0; /* toggle on if used with -s */
break;
case 't':
/* Telnet options */
diff --git a/src/tool_main.c b/src/tool_main.c
index 7bdd253aa..06c28395f 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -130,6 +130,9 @@ static CURLcode main_init(struct GlobalConfig *config)
_djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
#endif
+ /* Initialise the global config */
+ config->showerror = -1; /* Will show errors */
+
/* Allocate the initial operate config */
config->first = config->last = malloc(sizeof(struct OperationConfig));
if(config->first) {
@@ -213,7 +216,7 @@ int main(int argc, char *argv[])
result = operate(&global, argc, argv);
#ifdef __SYMBIAN32__
- if(global.first->showerror)
+ if(global.showerror)
tool_pressanykey();
#endif
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 2fb945310..faecd8f46 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -187,7 +187,8 @@ static curl_off_t VmsSpecialSize(const char * name,
}
#endif /* __VMS */
-static CURLcode operate_do(struct OperationConfig *config)
+static CURLcode operate_do(struct GlobalConfig *global,
+ struct OperationConfig *config)
{
char errorbuffer[CURL_ERROR_SIZE];
struct ProgressData progressbar;
@@ -408,7 +409,7 @@ static CURLcode operate_do(struct OperationConfig *config)
if(!config->globoff && infiles) {
/* Unless explicitly shut off */
res = glob_url(&inglob, infiles, &infilenum,
- config->showerror?config->errors:NULL);
+ global->showerror?config->errors:NULL);
if(res) {
Curl_safefree(outfiles);
break;
@@ -459,7 +460,7 @@ static CURLcode operate_do(struct OperationConfig *config)
/* Unless explicitly shut off, we expand '{...}' and '[...]'
expressions and return total number of URLs in pattern set */
res = glob_url(&urls, urlnode->url, &urlnum,
- config->showerror?config->errors:NULL);
+ global->showerror?config->errors:NULL);
if(res) {
Curl_safefree(uploadfile);
break;
@@ -1554,12 +1555,12 @@ static CURLcode operate_do(struct OperationConfig *config)
#ifdef __VMS
if(is_vms_shell()) {
/* VMS DCL shell behavior */
- if(!config->showerror)
+ if(!global->showerror)
vms_show = VMSSTS_HIDE;
}
else
#endif
- if(res && config->showerror) {
+ if(res && global->showerror) {
fprintf(config->errors, "curl: (%d) %s\n", res, (errorbuffer[0]) ?
errorbuffer : curl_easy_strerror((CURLcode)res));
if(res == CURLE_SSL_CACERT)
@@ -1836,7 +1837,7 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
/* Perform each operation */
while(!result && config->current) {
- result = operate_do(config->current);
+ result = operate_do(config, config->current);
config->current = config->current->next;
}