bringed back the loop
authorAli H. Fardan <raiz@firemail.cc>
Sun, 4 Sep 2016 22:21:03 +0000 (01:21 +0300)
committerAli H. Fardan <raiz@firemail.cc>
Sun, 4 Sep 2016 22:21:03 +0000 (01:21 +0300)
slstatus.c

index 92cff2e505eea6499dc28393c648fdc993ad0488..441c517a0e0129e7fd62d6c4aa797a539fc04e5e 100644 (file)
@@ -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);