- strlcat(batterynowfile, batterypath, sizeof(batterynowfile));
- strlcat(batterynowfile, battery, sizeof(batterynowfile));
- strlcat(batterynowfile, "/", sizeof(batterynowfile));
- strlcat(batterynowfile, batterynow, sizeof(batterynowfile));
-
- strlcat(batteryfullfile, batterypath, sizeof(batteryfullfile));
- strlcat(batteryfullfile, battery, sizeof(batteryfullfile));
- strlcat(batteryfullfile, "/", sizeof(batteryfullfile));
- strlcat(batteryfullfile, batteryfull, sizeof(batteryfullfile));
-
- if (!(fp = fopen(batterynowfile, "r"))) {
- fprintf(stderr, "Error opening battery file: %s.\n", batterynowfile);
- return smprintf(unknowntext);
+ snprintf(path, sizeof(path), "%s%s%s", "/sys/class/power_supply/", bat, "/capacity");
+ fp = fopen(path, "r");
+ if (fp == NULL) {
+ warn("Failed to open file %s", path);
+ return smprintf("%s", UNKNOWN_STR);