summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2020-05-17 02:05:59 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2020-05-17 02:05:59 +0300
commita82b8358b0c0fe43ec4dc023b789d98cc95240c5 (patch)
tree419ac175254ba10b483b30d990e60bd9c8326dd5 /main.c
parentbc0b78f2eee37f577396c7c03ec3413912b569e2 (diff)
use fmemopen
Diffstat (limited to 'main.c')
-rw-r--r--main.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/main.c b/main.c
index 7ee6d13..8fc757c 100644
--- a/main.c
+++ b/main.c
@@ -90,28 +90,31 @@ static int isdir(const char *path)
static void print_battery_status(void)
{
-#define PRINT(...) str += snprintf(str, sizeof(status) - (str - status), __VA_ARGS__)
-
- static char status[512];
-
- char *str = status;
+ char status[512];
+ FILE *fp;
if (! isdir(SYSPATH))
return;
+ fp = fmemopen(status, sizeof(status), "w");
+
if (! strcasecmp("charging", readline(SYSPATH, "status")))
- PRINT("%s ", charging);
+ fprintf(fp, "%s ", charging);
int capacity = atoi(readline(SYSPATH, "capacity"));
if (capacity == 100)
- PRINT("full");
+ fprintf(fp, "full");
else
- PRINT("%d%%", capacity);
+ fprintf(fp, "%d%%", capacity);
+
+ fflush(fp);
printf(", bat: %s", status);
readline(NULL, NULL);
+
+ fclose(fp);
}
static bool is_proc_entry(struct dirent *de)