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