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.
This commit is contained in:
Quentin Rameau 2018-05-29 21:32:29 +02:00 committed by Aaron Marcher
parent 81d5b427cb
commit 7fe240856e

View file

@ -73,10 +73,6 @@ main(int argc, char *argv[])
sigaction(SIGINT, &act, NULL); sigaction(SIGINT, &act, NULL);
sigaction(SIGTERM, &act, NULL); sigaction(SIGTERM, &act, NULL);
if (sflag) {
setbuf(stdout, NULL);
}
if (!sflag && !(dpy = XOpenDisplay(NULL))) { if (!sflag && !(dpy = XOpenDisplay(NULL))) {
die("XOpenDisplay: Failed to open display"); die("XOpenDisplay: Failed to open display");
} }
@ -99,9 +95,10 @@ main(int argc, char *argv[])
} }
if (sflag) { if (sflag) {
if (printf("%s\n", status) < 0) { puts(status);
die("printf:"); fflush(stdout);
} if (ferror(stdout))
die("puts:");
} else { } else {
if (XStoreName(dpy, DefaultRootWindow(dpy), status) < 0) { if (XStoreName(dpy, DefaultRootWindow(dpy), status) < 0) {
die("XStoreName: Allocation failed"); die("XStoreName: Allocation failed");