|
|
@@ -98,34 +98,36 @@ smprintf(const char *fmt, ...)
|
|
|
static char *
|
|
|
battery_perc(const char *battery)
|
|
|
{
|
|
|
- int now, full, perc;
|
|
|
+ int now, full;
|
|
|
FILE *fp;
|
|
|
|
|
|
- ccat(4, BATTERY_PATH, battery, "/", BATTERY_NOW);
|
|
|
-
|
|
|
+ ccat(3, "/sys/class/power_supply/", battery, "/energy_now");
|
|
|
fp = fopen(concat, "r");
|
|
|
if (fp == NULL) {
|
|
|
- warn("Error opening battery file: %s", concat);
|
|
|
- return smprintf(UNKNOWN_STR);
|
|
|
+ ccat(4, "/sys/class/power_supply/", battery, "/charge_now");
|
|
|
+ fp = fopen(concat, "r");
|
|
|
+ if (fp == NULL) {
|
|
|
+ warn("Error opening battery file: %s", concat);
|
|
|
+ return smprintf(UNKNOWN_STR);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
fscanf(fp, "%i", &now);
|
|
|
fclose(fp);
|
|
|
|
|
|
- ccat(4, BATTERY_PATH, battery, "/", BATTERY_FULL);
|
|
|
-
|
|
|
+ ccat(3, "/sys/class/power_supply/", battery, "/energy_full");
|
|
|
fp = fopen(concat, "r");
|
|
|
if (fp == NULL) {
|
|
|
- warn("Error opening battery file: %s", concat);
|
|
|
- return smprintf(UNKNOWN_STR);
|
|
|
+ ccat(4, "/sys/class/power_supply/", battery, "/charge_full");
|
|
|
+ fp = fopen(concat, "r");
|
|
|
+ if (fp == NULL) {
|
|
|
+ warn("Error opening battery file: %s", concat);
|
|
|
+ return smprintf(UNKNOWN_STR);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
fscanf(fp, "%i", &full);
|
|
|
fclose(fp);
|
|
|
|
|
|
- perc = now / (full / 100);
|
|
|
-
|
|
|
- return smprintf("%d%%", perc);
|
|
|
+ return smprintf("%d%%", now / (full / 100));
|
|
|
}
|
|
|
|
|
|
static char *
|