From: Michael Stapelberg Date: Tue, 15 May 2012 10:30:23 +0000 (+0200) Subject: battery info: output errors in JSON in every case X-Git-Tag: 2.6~29 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3status;a=commitdiff_plain;h=7a77472a810b0a955f2755dd028216965b56be31 battery info: output errors in JSON in every case This hopefully fixes http://bugs.i3wm.org/707 --- 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; }