aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-05-17 14:09:17 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-05-21 20:29:12 +0200
commitf3d836b73601fc6d14cb917e1cd72f43b9056dff (patch)
treea4d06b40b339620f6272c8c2c6581585288c0229
parentc1c27625c797cfb7b21128484b4990446c1e92d9 (diff)
curl: added --styled-output
It is enabled by default, so --no-styled-output will switch off the detection/use of bold headers. Closes #2538
-rw-r--r--docs/cmdline-opts/Makefile.inc3
-rw-r--r--docs/cmdline-opts/styled-output.d6
-rw-r--r--src/tool_cb_hdr.c2
-rw-r--r--src/tool_cfgable.h1
-rw-r--r--src/tool_getparam.c7
-rw-r--r--src/tool_help.c2
-rw-r--r--src/tool_main.c3
7 files changed, 19 insertions, 5 deletions
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 778149ca3..fb56d2552 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -46,6 +46,7 @@ DPAGES = abstract-unix-socket.d anyauth.d append.d basic.d cacert.d capath.d cer
tlsauthtype.d tlspassword.d tlsuser.d tlsv1.0.d tlsv1.1.d tlsv1.2.d \
tlsv1.3.d tlsv1.d trace-ascii.d trace.d trace-time.d tr-encoding.d \
unix-socket.d upload-file.d url.d use-ascii.d user-agent.d user.d \
- verbose.d version.d write-out.d xattr.d request-target.d
+ verbose.d version.d write-out.d xattr.d request-target.d \
+ styled-output.d
OTHERPAGES = page-footer page-header
diff --git a/docs/cmdline-opts/styled-output.d b/docs/cmdline-opts/styled-output.d
new file mode 100644
index 000000000..e4751aecb
--- /dev/null
+++ b/docs/cmdline-opts/styled-output.d
@@ -0,0 +1,6 @@
+Long: styled-output
+Help: Enable styled output for HTTP headers
+Added: 7.61.0
+---
+Enables the automatic use of bold font styles when writing HTTP headers to the
+terminal. Use --no-styled-output to switch them off.
diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
index 4e9e49a6d..88ce5e13b 100644
--- a/src/tool_cb_hdr.c
+++ b/src/tool_cb_hdr.c
@@ -163,7 +163,7 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
if(!outs->stream && !tool_create_output_file(outs, FALSE))
return failure;
- if(hdrcbdata->global->isatty)
+ if(hdrcbdata->global->isatty && hdrcbdata->global->styled_output)
value = memchr(ptr, ':', cb);
if(value) {
size_t namelen = value - ptr;
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 3bd908879..9d995f85e 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -276,6 +276,7 @@ struct GlobalConfig {
int progressmode; /* CURL_PROGRESS_BAR / CURL_PROGRESS_STATS */
char *libcurl; /* Output libcurl code to this file name */
bool fail_early; /* exit on first transfer error */
+ bool styled_output; /* enable fancy output style detection */
struct OperationConfig *first;
struct OperationConfig *current;
struct OperationConfig *last; /* Always last in the struct */
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 60a88e266..4b9ae0653 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -260,6 +260,7 @@ static const struct LongShort aliases[]= {
{"EB", "socks5-gssapi", ARG_BOOL},
{"f", "fail", ARG_BOOL},
{"fa", "fail-early", ARG_BOOL},
+ {"fb", "styled-output", ARG_BOOL},
{"F", "form", ARG_STRING},
{"Fs", "form-string", ARG_STRING},
{"g", "globoff", ARG_BOOL},
@@ -1643,8 +1644,10 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
case 'a': /* --fail-early */
global->fail_early = toggle;
break;
- default:
- /* fail hard on errors */
+ case 'b': /* --styled-output */
+ global->styled_output = toggle;
+ break;
+ default: /* --fail (hard on errors) */
config->failonerror = toggle;
}
break;
diff --git a/src/tool_help.c b/src/tool_help.c
index 71862511f..7c4dda3b0 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -414,6 +414,8 @@ static const struct helptxt helptext[] = {
"Use SSLv3"},
{" --stderr",
"Where to redirect stderr"},
+ {" --styled-output",
+ "Enable styled output for HTTP headers"},
{" --suppress-connect-headers",
"Suppress proxy CONNECT response headers"},
{" --tcp-fastopen",
diff --git a/src/tool_main.c b/src/tool_main.c
index 4e78d3321..b9f7eae2c 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, 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
@@ -147,6 +147,7 @@ static CURLcode main_init(struct GlobalConfig *config)
/* Initialise the global config */
config->showerror = -1; /* Will show errors */
config->errors = stderr; /* Default errors to stderr */
+ config->styled_output = TRUE; /* enable detection */
/* Allocate the initial operate config */
config->first = config->last = malloc(sizeof(struct OperationConfig));