From: Klemen Košir Date: Mon, 25 Aug 2014 17:03:11 +0000 (+0200) Subject: Fix battery indicator on systems without POWER_SUPPLY_VOLTAGE_NOW. X-Git-Tag: 2.9~15 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=fcd95c24085c985f365d8d5283bccd003084f39d;p=i3%2Fi3status Fix battery indicator on systems without POWER_SUPPLY_VOLTAGE_NOW. In my case, the voltage variable would stay initialized as -1, which caused the calculation of battery charge percentage to be incorrect (I would get the message that there is no battery present or even -0% charge). I have no idea how this would affect other systems, since I don't have a chance to test this. --- diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 102522b..6b39c12 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -124,8 +124,11 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char * ampere to watt */ if (!watt_as_unit) { present_rate = (((float)voltage / 1000.0) * ((float)present_rate / 1000.0)); - remaining = (((float)voltage / 1000.0) * ((float)remaining / 1000.0)); - full_design = (((float)voltage / 1000.0) * ((float)full_design / 1000.0)); + + if (voltage != -1) { + remaining = (((float)voltage / 1000.0) * ((float)remaining / 1000.0)); + full_design = (((float)voltage / 1000.0) * ((float)full_design / 1000.0)); + } } if ((full_design == -1) || (remaining == -1)) {