|
|
|
|
@ -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);
|
|
|
|
|
|