X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/103945e7bb8d3a4198cf175b8f6be09fe53ab9e1..b0401b13bb78bacde9d10b00766830cbeb2c90f6:/components/battery.c diff --git a/components/battery.c b/components/battery.c index 6105a37..99e09d5 100644 --- a/components/battery.c +++ b/components/battery.c @@ -1,5 +1,4 @@ /* See LICENSE file for copyright and license details. */ -#include #include #include @@ -83,7 +82,7 @@ battery_remaining(const char *bat) { int charge_now, current_now, m, h; - float timeleft; + double timeleft; char path[PATH_MAX], state[12]; if (esnprintf(path, sizeof(path), @@ -107,9 +106,13 @@ return NULL; } - timeleft = (float)charge_now / (float)current_now; + if (current_now == 0) { + return NULL; + } + + timeleft = (double)charge_now / (double)current_now; h = timeleft; - m = (timeleft - (float)h) * 60; + m = (timeleft - (double)h) * 60; return bprintf("%dh %dm", h, m); }