aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2011-10-16 23:39:59 +0200
committerDaniel Stenberg <daniel@haxx.se>2011-10-16 23:39:59 +0200
commitb229c8ca8b34df4e1cb4fe806721b64ea242c4ae (patch)
tree2719cacb816c0200c33954e531ac6050b606799a
parent337252bdd421ce8262da183a577a7f8b44641385 (diff)
--show-error: position indepdenent
Previously we required that -S/--show-error was used _after_ -s/--silent. This was slightly confusing since we strive to make arguments as position independent as possible. Now, you can use them in any order and the result should still be the same. Bug: http://curl.haxx.se/bug/view.cgi?id=3424286 Reported by: Andreas Olsson
-rw-r--r--src/tool_cfgable.h4
-rw-r--r--src/tool_getparam.c8
-rw-r--r--src/tool_operate.c2
3 files changed, 10 insertions, 4 deletions
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index f27a8e24e..adbb44627 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -64,7 +64,9 @@ struct Configurable {
char *range;
long low_speed_limit;
long low_speed_time;
- bool showerror;
+ 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 *tls_username;
char *tls_password;
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index bb36b4246..bd7375fd9 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -1426,11 +1426,15 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
config->mute = config->noprogress = TRUE;
else
config->mute = config->noprogress = FALSE;
- config->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
+ if(config->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 */
break;
case 'S':
/* show errors */
- config->showerror = toggle; /* toggle on if used with -s */
+ config->showerror = toggle?1:0; /* toggle on if used with -s */
break;
case 't':
/* Telnet options */
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 481116ddf..65f4b60b8 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -164,7 +164,7 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
/* inits */
config->postfieldsize = -1;
- config->showerror = TRUE;
+ config->showerror = -1; /* will show errors */
config->use_httpget = FALSE;
config->create_dirs = FALSE;
config->maxredirs = DEFAULT_MAXREDIRS;