bringed back the loop
Ali H. Fardan raiz@firemail.cc
Mon, 05 Sep 2016 01:21:03 +0300
1 files changed,
16 insertions(+),
14 deletions(-)
jump to
M
slstatus.c
→
slstatus.c
@@ -604,21 +604,23 @@
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);