aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-03-01 13:49:28 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-03-01 18:30:16 +0000
commiteba197161a5917631dd7732de842c68e3159c951 (patch)
tree4d952862373734940ddde5808a71df63a2adbc4e /src
parent36802d6e0c402969cb64ef9dd0d0b799165198d8 (diff)
tool: Moved internal variable isatty to the global config
Diffstat (limited to 'src')
-rw-r--r--src/tool_cb_dbg.c3
-rw-r--r--src/tool_cfgable.h2
-rw-r--r--src/tool_operate.c10
3 files changed, 9 insertions, 6 deletions
diff --git a/src/tool_cb_dbg.c b/src/tool_cb_dbg.c
index 8a75fb693..010dae3b9 100644
--- a/src/tool_cb_dbg.c
+++ b/src/tool_cb_dbg.c
@@ -142,8 +142,7 @@ int tool_debug_cb(CURL *handle, curl_infotype type,
to stderr or stdout, we don't display the alert about the data not
being shown as the data _is_ shown then just not via this
function */
- if(!operation->isatty ||
- ((output != stderr) && (output != stdout))) {
+ if(!config->isatty || ((output != stderr) && (output != stdout))) {
if(!newl)
fprintf(output, "%s%s ", timebuf, s_infotype[type]);
fprintf(output, "[data not shown]\n");
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 104117590..451974468 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -100,7 +100,6 @@ struct OperationConfig {
bool netrc_opt;
bool netrc;
char *netrc_file;
- bool isatty; /* updated internally only if output is a tty */
struct getout *url_list; /* point to the first node */
struct getout *url_last; /* point to the last/current node */
struct getout *url_get; /* point to the node to fill in URL */
@@ -216,6 +215,7 @@ struct GlobalConfig {
1 => -S has been used to show errors */
bool mute; /* don't show messages, --silent given */
bool noprogress; /* don't show progress bar --silent given */
+ bool isatty; /* Updated internally if output is a tty */
FILE *errors; /* Error stream, defaults to stderr */
bool errors_fopened; /* Whether error stream isn't stderr */
char *trace_dump; /* file to dump the network trace to */
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 8e1b1a58d..02841c12a 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -346,7 +346,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
/* save the values of noprogress and isatty to restore them later on */
orig_noprogress = global->noprogress;
- orig_isatty = config->isatty;
+ orig_isatty = global->isatty;
/*
** Nested loops start here.
@@ -745,12 +745,12 @@ static CURLcode operate_do(struct GlobalConfig *global,
isatty(fileno(outs.stream)))
/* we send the output to a tty, therefore we switch off the progress
meter */
- global->noprogress = config->isatty = TRUE;
+ global->noprogress = global->isatty = TRUE;
else {
/* progress meter is per download, so restore config
values */
global->noprogress = orig_noprogress;
- config->isatty = orig_isatty;
+ global->isatty = orig_isatty;
}
if(urlnum > 1 && !global->mute) {
@@ -1750,6 +1750,10 @@ static CURLcode operate_do(struct GlobalConfig *global,
quit_curl:
+ /* Reset the global config variables */
+ global->noprogress = orig_noprogress;
+ global->isatty = orig_isatty;
+
/* Free function-local referenced allocated memory */
Curl_safefree(httpgetfields);