diff options
author | Quentin Rameau <quinq@fifth.space> | 2018-05-29 21:32:29 +0200 |
---|---|---|
committer | Aaron Marcher <me@drkhsh.at> | 2018-05-29 22:26:05 +0200 |
commit | 7fe240856eef7b56d8ca0b57fd5642dbdc5b89b1 (patch) | |
tree | 67376b9918df5aac6c6977c632cc60cc6c138cc8 | |
parent | 81d5b427cb10eae98fc958627336503390b9a1c1 (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.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -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"); |