From: Ben Hutchings Date: Wed, 19 Mar 2025 21:51:57 +0000 (+0100) Subject: color: Handle NO_COLOR environment variable in default_color_opt() X-Git-Tag: v6.15.0~6^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0076a016cf7926f39c47b95dae0002249c082dc;p=thirdparty%2Fiproute2.git 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 --- 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; }