From 61a1910f91fe6aba428193087d6c3ff21374ee5e Mon Sep 17 00:00:00 2001 From: "arg@mig29" Date: Sun, 26 Nov 2006 14:26:53 +0100 Subject: applied Jukka's sizeof K&R compliance patch, applied Manuels' last-line printage proposal for stdin reading. --- client.c | 4 ++-- draw.c | 4 ++-- event.c | 4 ++-- main.c | 14 ++++++++------ tag.c | 4 ++-- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/client.c b/client.c index 220d2a02..74cadb5f 100644 --- a/client.c +++ b/client.c @@ -361,12 +361,12 @@ updatetitle(Client *c) { if(!name.nitems) return; if(name.encoding == XA_STRING) - strncpy(c->name, (char *)name.value, sizeof(c->name)); + strncpy(c->name, (char *)name.value, sizeof c->name); else { if(XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) { - strncpy(c->name, *list, sizeof(c->name)); + strncpy(c->name, *list, sizeof c->name); XFreeStringList(list); } } diff --git a/draw.c b/draw.c index 4441a884..671062c5 100644 --- a/draw.c +++ b/draw.c @@ -43,8 +43,8 @@ drawtext(const char *text, unsigned long col[ColLast], Bool ldot, Bool rdot) { return; w = 0; olen = len = strlen(text); - if(len >= sizeof(buf)) - len = sizeof(buf) - 1; + if(len >= sizeof buf) + len = sizeof buf - 1; memcpy(buf, text, len); buf[len] = 0; h = dc.font.ascent + dc.font.descent; diff --git a/event.c b/event.c index 23dcf555..edfcc520 100644 --- a/event.c +++ b/event.c @@ -244,7 +244,7 @@ expose(XEvent *e) { static void keypress(XEvent *e) { - static unsigned int len = sizeof(key) / sizeof(key[0]); + static unsigned int len = sizeof key / sizeof key[0]; unsigned int i; KeySym keysym; XKeyEvent *ev = &e->xkey; @@ -355,7 +355,7 @@ void (*handler[LASTEvent]) (XEvent *) = { void grabkeys(void) { - static unsigned int len = sizeof(key) / sizeof(key[0]); + static unsigned int len = sizeof key / sizeof key[0]; unsigned int i; KeyCode code; diff --git a/main.c b/main.c index 86cd3f9d..f196df7c 100644 --- a/main.c +++ b/main.c @@ -227,6 +227,7 @@ xerror(Display *dpy, XErrorEvent *ee) { int main(int argc, char *argv[]) { + char *p; int r, xfd; fd_set rd; @@ -270,22 +271,23 @@ main(int argc, char *argv[]) { if(select(xfd + 1, &rd, NULL, NULL, NULL) == -1) { if(errno == EINTR) continue; - else - eprint("select failed\n"); + eprint("select failed\n"); } if(FD_ISSET(STDIN_FILENO, &rd)) { - switch(r = read(STDIN_FILENO, stext, sizeof(stext) - 1)) { + switch(r = read(STDIN_FILENO, stext, sizeof stext - 1)) { case -1: - strncpy(stext, strerror(errno), sizeof(stext)); - stext[sizeof(stext) - 1] = '\0'; + strncpy(stext, strerror(errno), sizeof stext - 1); readin = False; break; case 0: - strncpy(stext, "EOF", sizeof(stext)); + strncpy(stext, "EOF", sizeof stext); readin = False; break; default: stext[r - (stext[r - 1] == '\n' ? 1 : 0)] = '\0'; + for(p = stext + strlen(stext) - 1; p > stext && *p != '\n'; --p); + if(p > stext) + strncpy(stext, p + 1, sizeof stext); } drawstatus(); } diff --git a/tag.c b/tag.c index fd08853c..b1a2eb98 100644 --- a/tag.c +++ b/tag.c @@ -50,7 +50,7 @@ initrregs(void) { if(rreg) return; - len = sizeof(rule) / sizeof(rule[0]); + len = sizeof rule / sizeof rule[0]; rreg = emallocz(len * sizeof(RReg)); for(i = 0; i < len; i++) { if(rule[i].clpattern) { @@ -83,7 +83,7 @@ settags(Client *c, Client *trans) { c->tags[i] = trans->tags[i]; } else if(XGetClassHint(dpy, c->win, &ch)) { - snprintf(prop, sizeof(prop), "%s:%s:%s", + snprintf(prop, sizeof prop, "%s:%s:%s", ch.res_class ? ch.res_class : "", ch.res_name ? ch.res_name : "", c->name); for(i = 0; !matched && i < len; i++) -- cgit v1.2.3