From 59d52ad78759ef7b194f9ca50f9d03d721d14398 Mon Sep 17 00:00:00 2001 From: Simon Elsbrock Date: Wed, 5 Sep 2012 18:39:48 +0200 Subject: [PATCH] print_battery.c: do END_COLOR only if START_COLOR was used --- src/print_battery_info.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 4fbf411..e439bc6 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -42,6 +42,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char const char *walk, *last; char *outwalk = buffer; bool watt_as_unit; + bool colorful_output; int full_design = -1, remaining = -1, present_rate = -1, @@ -151,9 +152,11 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char if (strncmp(threshold_type, "percentage", strlen(threshold_type)) == 0 && percentage_remaining < low_threshold) { START_COLOR("color_bad"); + colorful_output = true; } else if (strncmp(threshold_type, "time", strlen(threshold_type)) == 0 && seconds_remaining < 60 * low_threshold) { START_COLOR("color_bad"); + colorful_output = true; } } @@ -170,7 +173,8 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char (void)snprintf(consumptionbuf, sizeof(consumptionbuf), "%1.2fW", ((float)present_rate / 1000.0 / 1000.0)); - END_COLOR; + if (colorful_output) + END_COLOR; } #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) int state; -- 2.39.2