From: Michael Stapelberg Date: Sat, 31 May 2014 12:01:18 +0000 (+0200) Subject: Use the absolute values for (dis)charging rates X-Git-Tag: 2.9~19 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2158128ea0343f7e1b736f141289a71ef51797c1;p=i3%2Fi3status Use the absolute values for (dis)charging rates Apparently some notebooks report a negative current, whereas most don’t. fixes #1249 --- diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 7277765..102522b 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -89,15 +89,15 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char remaining = atoi(walk+1); } else if (BEGINS_WITH(last, "POWER_SUPPLY_CURRENT_NOW")) - present_rate = atoi(walk+1); + present_rate = abs(atoi(walk+1)); else if (BEGINS_WITH(last, "POWER_SUPPLY_VOLTAGE_NOW")) - voltage = atoi(walk+1); + voltage = abs(atoi(walk+1)); /* on some systems POWER_SUPPLY_POWER_NOW does not exist, but actually * it is the same as POWER_SUPPLY_CURRENT_NOW but with μWh as * unit instead of μAh. We will calculate it as we need it * later. */ else if (BEGINS_WITH(last, "POWER_SUPPLY_POWER_NOW")) - present_rate = atoi(walk+1); + present_rate = abs(atoi(walk+1)); else if (BEGINS_WITH(last, "POWER_SUPPLY_STATUS=Charging")) status = CS_CHARGING; else if (BEGINS_WITH(last, "POWER_SUPPLY_STATUS=Full"))