Flush the output stream instead of arbitrarily disabling buffering - slstatus -… | |
git clone git://git.suckless.org/slstatus | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 7fe240856eef7b56d8ca0b57fd5642dbdc5b89b1 | |
parent 81d5b427cb10eae98fc958627336503390b9a1c1 | |
Author: Quentin Rameau <[email protected]> | |
Date: Tue, 29 May 2018 21:32:29 +0200 | |
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. | |
Diffstat: | |
M slstatus.c | 11 ++++------- | |
1 file changed, 4 insertions(+), 7 deletions(-) | |
--- | |
diff --git 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) < … | |
die("XStoreName: Allocation failed"); |