JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Jukka's sizeof K&R compliance patch, applied Manuels' last-line printage...
authorarg@mig29 <unknown>
Sun, 26 Nov 2006 13:26:53 +0000 (14:26 +0100)
committerarg@mig29 <unknown>
Sun, 26 Nov 2006 13:26:53 +0000 (14:26 +0100)
client.c
draw.c
event.c
main.c
tag.c

index 220d2a0..74cadb5 100644 (file)
--- 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 4441a88..671062c 100644 (file)
--- 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 23dcf55..edfcc52 100644 (file)
--- 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 86cd3f9..f196df7 100644 (file)
--- 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 fd08853..b1a2eb9 100644 (file)
--- 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++)