From: Phil Sutter Date: Wed, 15 Aug 2018 16:21:26 +0000 (+0200) Subject: Merge common code for conditionally colored output X-Git-Tag: v4.19.0~84^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d82962cccc6a6b543fa2110e81621c51441f0dd;p=thirdparty%2Fiproute2.git Merge common code for conditionally colored output Instead of calling enable_color() conditionally with identical check in three places, introduce check_enable_color() which does it in one place. Signed-off-by: Phil Sutter Signed-off-by: David Ahern --- diff --git a/bridge/bridge.c b/bridge/bridge.c index 289a157d3..451d684e0 100644 --- a/bridge/bridge.c +++ b/bridge/bridge.c @@ -200,8 +200,7 @@ main(int argc, char **argv) _SL_ = oneline ? "\\" : "\n"; - if (color && !json) - enable_color(); + check_enable_color(color, json); if (batch_file) return batch(batch_file); diff --git a/include/color.h b/include/color.h index c80359d3e..4f2c918db 100644 --- a/include/color.h +++ b/include/color.h @@ -13,6 +13,7 @@ enum color_attr { }; void enable_color(void); +int check_enable_color(int color, int json); void set_color_palette(void); int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...); enum color_attr ifa_family_color(__u8 ifa_family); diff --git a/ip/ip.c b/ip/ip.c index 71d5170c0..38eac5ec1 100644 --- a/ip/ip.c +++ b/ip/ip.c @@ -304,8 +304,7 @@ int main(int argc, char **argv) _SL_ = oneline ? "\\" : "\n"; - if (color && !json) - enable_color(); + check_enable_color(color, json); if (batch_file) return batch(batch_file); diff --git a/lib/color.c b/lib/color.c index da1f516cb..edf96e5c6 100644 --- a/lib/color.c +++ b/lib/color.c @@ -77,6 +77,15 @@ void enable_color(void) set_color_palette(); } +int check_enable_color(int color, int json) +{ + if (color && !json) { + enable_color(); + return 0; + } + return 1; +} + void set_color_palette(void) { char *p = getenv("COLORFGBG"); diff --git a/tc/tc.c b/tc/tc.c index 8d94ce3f7..4c7a128c8 100644 --- a/tc/tc.c +++ b/tc/tc.c @@ -518,8 +518,7 @@ int main(int argc, char **argv) _SL_ = oneline ? "\\" : "\n"; - if (color && !json) - enable_color(); + check_enable_color(color, json); if (batch_file) return batch(batch_file);