summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2018-05-29 21:32:29 +0200
committerAaron Marcher <me@drkhsh.at>2018-05-29 22:26:05 +0200
commit36a2f7dac168470de6cce671a00846c99e6d864e (patch)
tree67376b9918df5aac6c6977c632cc60cc6c138cc8
parent48a624c026538e17b27e7fa89dd2cb6d2873b16b (diff)
Flush the output stream instead of arbitrarily disabling buffering
This is (arguably) more elegant and it matches Xlib output logic. Also use puts instead of printf as we don't do formating there.
-rw-r--r--slstatus.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/slstatus.c b/slstatus.c
index 7776fd5..e6aa90b 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -73,10 +73,6 @@ main(int argc, char *argv[])
sigaction(SIGINT, &act, NULL);
sigaction(SIGTERM, &act, NULL);
- if (sflag) {
- setbuf(stdout, NULL);
- }
-
if (!sflag && !(dpy = XOpenDisplay(NULL))) {
die("XOpenDisplay: Failed to open display");
}
@@ -99,9 +95,10 @@ main(int argc, char *argv[])
}
if (sflag) {
- if (printf("%s\n", status) < 0) {
- die("printf:");
- }
+ puts(status);
+ fflush(stdout);
+ if (ferror(stdout))
+ die("puts:");
} else {
if (XStoreName(dpy, DefaultRootWindow(dpy), status) < 0) {
die("XStoreName: Allocation failed");