slstatus

My fork of https://tools.suckless.org/slstatus/
git clone https://git.inz.fi/slstatus
Log | Files | Refs | README | LICENSE

commit a4beda8eb9bdf34d055ba52c39b15b9580b27e6a
parent 52d19f955e67712eab50f582046013246b6bc75d
Author: Ali H. Fardan <raiz@firemail.cc>
Date:   Mon,  5 Sep 2016 01:21:03 +0300

bringed back the loop

Diffstat:
Mslstatus.c | 30++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/slstatus.c b/slstatus.c @@ -604,21 +604,23 @@ main(void) stderr = stderr; dpy = XOpenDisplay(NULL); - memset(status_string, 0, sizeof(status_string)); - for (i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { - argument = args[i]; - if (argument.args == NULL) - res = argument.func(); - else - res = argument.func(argument.args); - element = smprintf(argument.format, res); - if (element == NULL) { - element = smprintf(UNKNOWN_STR); - fprintf(stderr, "Failed to format output.\n"); + for (;;) { + memset(status_string, 0, sizeof(status_string)); + for (i = 0; i < sizeof(args) / sizeof(args[0]); ++i) { + argument = args[i]; + if (argument.args == NULL) + res = argument.func(); + else + res = argument.func(argument.args); + element = smprintf(argument.format, res); + if (element == NULL) { + element = smprintf(UNKNOWN_STR); + fprintf(stderr, "Failed to format output.\n"); + } + strlcat(status_string, element, sizeof(status_string)); + free(res); + free(element); } - strlcat(status_string, element, sizeof(status_string)); - free(res); - free(element); } XStoreName(dpy, DefaultRootWindow(dpy), status_string);