X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/b4f55e7170576a2dd800018c8690832bbc7f9bf0..447283fda1505124f68f0cf74833f307cb630fa3:/slstatus.c diff --git a/slstatus.c b/slstatus.c index 40aaa19..60b5bbb 100644 --- a/slstatus.c +++ b/slstatus.c @@ -29,7 +29,7 @@ #include "strlcat.h" #include "strlcpy.h" -typedef char *(*op_fun) (const char *); +typedef char *(*op_fun)(); struct arg { op_fun func; const char *format; @@ -255,14 +255,8 @@ entropy(void) static char * gid(void) { - gid_t gid; - - if ((gid = getgid()) < 0) { - fprintf(stderr, "Could no get gid.\n"); - return smprintf(unknowntext); - } else - return smprintf("%d", gid); - return smprintf(unknowntext); + gid_t gid = getgid(); + return smprintf("%d", gid); } static char * @@ -612,7 +606,9 @@ wifi_essid(const char *wificard) int main(void) { - char status_string[1024]; + size_t i; + char status_string[4096]; + char *res, *element; struct arg argument; if (!(dpy = XOpenDisplay(0x0))) { @@ -622,13 +618,13 @@ main(void) for (;;) { memset(status_string, 0, sizeof(status_string)); - for (size_t i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { + for (i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { argument = args[i]; if (argument.args == NULL) - char *res = argument.func(); + res = argument.func(); else - char *res = argument.func(argument.args); - char *element = smprintf(argument.format, res); + res = argument.func(argument.args); + element = smprintf(argument.format, res); if (element == NULL) { element = smprintf(unknowntext); fprintf(stderr, "Failed to format output.\n");