Xinqi Bao's Git
projects
/
slstatus.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Fixed out of boundary write on long lines.
[slstatus.git]
/
slstatus.c
diff --git
a/slstatus.c
b/slstatus.c
index
d29436d
..
6deb68c
100644
(file)
--- a/
slstatus.c
+++ b/
slstatus.c
@@
-140,6
+140,8
@@
battery_state(const char *bat)
return smprintf("-");
} else if (strcmp(state, "Full") == 0) {
return smprintf("=");
return smprintf("-");
} else if (strcmp(state, "Full") == 0) {
return smprintf("=");
+ } else if (strcmp(state, "Unknown") == 0) {
+ return smprintf("/");
} else {
return smprintf("?");
}
} else {
return smprintf("?");
}
@@
-329,6
+331,7
@@
keyboard_indicators(void)
Display *dpy = XOpenDisplay(NULL);
XKeyboardState state;
XGetKeyboardControl(dpy, &state);
Display *dpy = XOpenDisplay(NULL);
XKeyboardState state;
XGetKeyboardControl(dpy, &state);
+ XCloseDisplay(dpy);
switch (state.led_mask) {
case 1:
switch (state.led_mask) {
case 1:
@@
-343,8
+346,6
@@
keyboard_indicators(void)
default:
return smprintf("");
}
default:
return smprintf("");
}
-
- XCloseDisplay(dpy);
}
static char *
}
static char *
@@
-446,9
+447,9
@@
run_command(const char *cmd)
warn("Failed to get command output for %s", cmd);
return smprintf("%s", UNKNOWN_STR);
}
warn("Failed to get command output for %s", cmd);
return smprintf("%s", UNKNOWN_STR);
}
- fgets(buf, sizeof(buf), fp);
+ fgets(buf, sizeof(buf)
- 1
, fp);
pclose(fp);
pclose(fp);
- buf[sizeof(buf)] = '\0';
+ buf[sizeof(buf)
- 1
] = '\0';
if ((nlptr = strstr(buf, "\n")) != NULL) {
nlptr[0] = '\0';
if ((nlptr = strstr(buf, "\n")) != NULL) {
nlptr[0] = '\0';
@@
-472,7
+473,7
@@
swap_free(void)
return smprintf("%s", UNKNOWN_STR);
}
return smprintf("%s", UNKNOWN_STR);
}
- if ((bytes_read = fread(buf, sizeof(char), sizeof(buf), fp)) == 0) {
+ if ((bytes_read = fread(buf, sizeof(char), sizeof(buf)
- 1
, fp)) == 0) {
warn("swap_free: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
warn("swap_free: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
@@
-509,7
+510,7
@@
swap_perc(void)
return smprintf("%s", UNKNOWN_STR);
}
return smprintf("%s", UNKNOWN_STR);
}
- if ((bytes_read = fread(buf, sizeof(char), sizeof(buf), fp)) == 0) {
+ if ((bytes_read = fread(buf, sizeof(char), sizeof(buf)
- 1
, fp)) == 0) {
warn("swap_perc: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
warn("swap_perc: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
@@
-550,7
+551,7
@@
swap_total(void)
warn("Failed to open file /proc/meminfo");
return smprintf("%s", UNKNOWN_STR);
}
warn("Failed to open file /proc/meminfo");
return smprintf("%s", UNKNOWN_STR);
}
- if ((bytes_read = fread(buf, sizeof(char), sizeof(buf), fp)) == 0) {
+ if ((bytes_read = fread(buf, sizeof(char), sizeof(buf)
- 1
, fp)) == 0) {
warn("swap_total: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
warn("swap_total: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
@@
-581,7
+582,7
@@
swap_used(void)
warn("Failed to open file /proc/meminfo");
return smprintf("%s", UNKNOWN_STR);
}
warn("Failed to open file /proc/meminfo");
return smprintf("%s", UNKNOWN_STR);
}
- if ((bytes_read = fread(buf, sizeof(char), sizeof(buf), fp)) == 0) {
+ if ((bytes_read = fread(buf, sizeof(char), sizeof(buf)
- 1
, fp)) == 0) {
warn("swap_used: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);
warn("swap_used: read error");
fclose(fp);
return smprintf("%s", UNKNOWN_STR);