aboutsummaryrefslogtreecommitdiff
path: root/battery.c
diff options
context:
space:
mode:
authorInqiyad Sabr <sabr@ariamath.xyz>2025-11-18 14:42:04 +0600
committerInqiyad Sabr <sabr@ariamath.xyz>2025-11-18 14:42:04 +0600
commitccad4019ce8e83cc7e9f3edb257c78bb51589421 (patch)
tree344a0a47e0c0b330105b5d25d7ee9ac8284610f2 /battery.c
parent1a494a95e6436f90d3dfc1ca7647eafcc94e5034 (diff)
Fixing all redundancies in code reading, hopefully.
Diffstat (limited to 'battery.c')
-rw-r--r--battery.c40
1 files changed, 23 insertions, 17 deletions
diff --git a/battery.c b/battery.c
index f3f7b99..7c8a8dd 100644
--- a/battery.c
+++ b/battery.c
@@ -4,26 +4,30 @@
#define bat_val(f, n)\
while((c = fgetc(f)) != '\n') n = 10 * n + (c - '0')
#define bat_open(f,F) if (!f) f = fopen(BATDIR"/"F,"r")
-#define EN fenergy_now
-#define EF fenergy_full
-#define ST fbat_status
-FILE *EN, *EF, *ST;
+FILE *fenergy_now, *fenergy_full, *fbat_status;
float bat_p;
int bat_state, bat_delay = 6;
char bat_str[13];
-void battery(void) {
+void battery(void)
+{
if (bat_delay++ < 6) goto show_stat;
else bat_delay = 0;
- bat_open(EN,"energy_now");
- bat_open(EF,"energy_full");
- bat_open(ST,"status");
- if (fenergy_now) {
- int c, en_n, ef_n;
- rewind(EN); rewind(EF); rewind(ST);
- en_n = ef_n = 0;
- bat_val(fenergy_now, en_n);
- bat_val(fenergy_full, ef_n);
- bat_p = (float)en_n * 100 / ef_n;
+
+ bat_open(fenergy_now,"energy_now");
+ bat_open(fenergy_full,"energy_full");
+ bat_open(fbat_status,"status");
+
+ if (fenergy_now)
+ {
+ int energy_now, energy_full;
+ rewind(fenergy_now);
+ rewind(fenergy_full);
+ rewind(fbat_status);
+ energy_now = energy_full = 0;
+ int c;
+ bat_val(fenergy_now, energy_now);
+ bat_val(fenergy_full, energy_full);
+ bat_p = (float)energy_now * 100 / energy_full;
char *icon;
bat_state = fgetc(fbat_status);
switch(bat_state) {
@@ -34,8 +38,10 @@ void battery(void) {
else if (bat_p > 30) icon = " ";
else if (bat_p > 10) icon = " ";
else icon = " ";
- } snprintf(bat_str,13,"%s %02.2f%%",icon,bat_p);
- } show_stat:
+ }
+ snprintf(bat_str,13,"%s %02.2f%%",icon,bat_p);
+ }
+show_stat:
if (bat_state == 'D' && bat_p >= 30)
block(bat_str,"#222222","#83a59899","#83a59899");
else if (bat_p < 30)