From f0076a016cf7926f39c47b95dae0002249c082dc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 19 Mar 2025 22:51:57 +0100 Subject: [PATCH] color: Handle NO_COLOR environment variable in default_color_opt() The NO_COLOR environment variable is a widely supported way for users to disable coloured text output. See . In case iproute2 is configured to use colours by default, allow this to be overridden by setting NO_COLOR. This is done in default_color_opt() so that colours can still be explicitly enabled with a command-line option. Signed-off-by: Ben Hutchings Signed-off-by: David Ahern --- lib/color.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/color.c b/lib/color.c index 5c4cc329..3c6db08d 100644 --- a/lib/color.c +++ b/lib/color.c @@ -83,6 +83,13 @@ static void enable_color(void) int default_color_opt(void) { + const char *no_color; + + /* If NO_COLOR has a non-empty value, coloured output is never wanted */ + no_color = getenv("NO_COLOR"); + if (no_color && *no_color) + return COLOR_OPT_NEVER; + return CONF_COLOR; } -- 2.47.2