[hackers] [slstatus] Flush the output stream instead of arbitrarily disabling buffering || Quentin Rameau

From: <git_AT_suckless.org>
Date: Tue, 29 May 2018 22:27:00 +0200 (CEST)

commit 7fe240856eef7b56d8ca0b57fd5642dbdc5b89b1
Author: Quentin Rameau <quinq_AT_fifth.space>
AuthorDate: Tue May 29 21:32:29 2018 +0200
Commit: Aaron Marcher <me_AT_drkhsh.at>
CommitDate: Tue May 29 22:26:05 2018 +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.

diff --git a/slstatus.c b/slstatus.c
index 7776fd5..e6aa90b 100644
--- a/slstatus.c
+++ b/slstatus.c
_AT_@ -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");
         }
_AT_@ -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");
Received on Tue May 29 2018 - 22:27:00 CEST

This archive was generated by hypermail 2.3.0 : Tue May 29 2018 - 22:36:24 CEST