treplaced low-level stext reading with an fgets call - dwm - [fork] customized … | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit b8985dc7bb8ef309a66edea541f8e4b8bc5d6381 | |
parent 6f60b2e1cd74c881688617082dc292b5c89da1a1 | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Fri, 2 Nov 2007 16:57:52 +0100 | |
replaced low-level stext reading with an fgets call | |
Diffstat: | |
M dwm.c | 22 +++++----------------- | |
1 file changed, 5 insertions(+), 17 deletions(-) | |
--- | |
diff --git a/dwm.c b/dwm.c | |
t@@ -1280,15 +1280,15 @@ restack(void) { | |
void | |
run(void) { | |
- char *p; | |
- int r, xfd; | |
fd_set rd; | |
+ int xfd; | |
XEvent ev; | |
/* main event loop, also reads status text from stdin */ | |
XSync(dpy, False); | |
xfd = ConnectionNumber(dpy); | |
readin = True; | |
+ stext[sizeof stext - 1] = '\0'; /* 0-terminator is never touched */ | |
while(running) { | |
FD_ZERO(&rd); | |
if(readin) | |
t@@ -1300,22 +1300,10 @@ run(void) { | |
eprint("select failed\n"); | |
} | |
if(FD_ISSET(STDIN_FILENO, &rd)) { | |
- switch(r = read(STDIN_FILENO, stext, sizeof stext - 1)… | |
- case -1: | |
+ if(stext == fgets(stext, sizeof stext - 1, stdin)) | |
+ stext[strlen(stext) - 1] = '\0'; /* remove tai… | |
+ else | |
strncpy(stext, strerror(errno), sizeof stext -… | |
- stext[sizeof stext - 1] = '\0'; | |
- readin = False; | |
- break; | |
- case 0: | |
- strncpy(stext, "EOF", 4); | |
- readin = False; | |
- break; | |
- default: | |
- for(stext[r] = '\0', p = stext + strlen(stext)… | |
- for(; p >= stext && *p != '\n'; --p); | |
- if(p > stext) | |
- strncpy(stext, p + 1, sizeof stext); | |
- } | |
drawbar(); | |
} | |
while(XPending(dpy)) { |