made error handling more proper
authorAnselm R. Garbe <garbeam@gmail.com>
Fri, 2 Nov 2007 16:04:40 +0000 (17:04 +0100)
committerAnselm R. Garbe <garbeam@gmail.com>
Fri, 2 Nov 2007 16:04:40 +0000 (17:04 +0100)
dwm.c

diff --git a/dwm.c b/dwm.c
index 77727a8..c595a51 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -1302,8 +1302,13 @@ run(void) {
                if(FD_ISSET(STDIN_FILENO, &rd)) {
                        if(stext == fgets(stext, sizeof stext - 1, stdin))
                                stext[strlen(stext) - 1] = '\0'; /* remove tailing '\n' */
-                       else
-                               strncpy(stext, strerror(errno), sizeof stext - 1);
+                       else {
+                               readin = False;
+                               if(feof(stdin))
+                                       strncpy(stext, "EOF", 4);
+                               else /* error occured */
+                                       strncpy(stext, strerror(errno), sizeof stext - 1);
+                       }
                        drawbar();
                }
                while(XPending(dpy)) {