From 7a77472a810b0a955f2755dd028216965b56be31 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 15 May 2012 12:30:23 +0200 Subject: [PATCH] battery info: output errors in JSON in every case This hopefully fixes http://bugs.i3wm.org/707 --- src/print_battery_info.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 29d703c..1c000e1 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -92,8 +92,10 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char } } - if ((full_design == 1) || (remaining == -1)) + if ((full_design == -1) || (remaining == -1)) { + OUTPUT_FULL_TEXT("No battery"); return; + } (void)snprintf(statusbuf, sizeof(statusbuf), "%s", (status == CS_CHARGING ? "CHR" : @@ -134,19 +136,19 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char size_t sysctl_size = sizeof(sysctl_rslt); if (sysctlbyname(BATT_LIFE, &sysctl_rslt, &sysctl_size, NULL, 0) != 0) { - printf("No battery"); + OUTPUT_FULL_TEXT("No battery"); return; } present_rate = sysctl_rslt; if (sysctlbyname(BATT_TIME, &sysctl_rslt, &sysctl_size, NULL, 0) != 0) { - printf("No battery"); + OUTPUT_FULL_TEXT("No battery"); return; } remaining = sysctl_rslt; if (sysctlbyname(BATT_STATE, &sysctl_rslt, &sysctl_size, NULL,0) != 0) { - printf("No battery"); + OUTPUT_FULL_TEXT("No battery"); return; }