commit a4beda8eb9bdf34d055ba52c39b15b9580b27e6a
parent 52d19f955e67712eab50f582046013246b6bc75d
Author: Ali H. Fardan <[email protected]>
Date:   Mon,  5 Sep 2016 01:21:03 +0300
bringed back the loop
Diffstat:
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);