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