JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
changed order of variables in drawtext
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 7d99390..4ad7cea 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -569,23 +569,22 @@ drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]) {
 void
 drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
        int i, x, y, h, len, olen;
-       XRectangle r = { dc.x, dc.y, dc.w, dc.h };
        char buf[256];
+       XRectangle r = { dc.x, dc.y, dc.w, dc.h };
 
        XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]);
        XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
        if(!text)
                return;
        olen = strlen(text);
-       len = MIN(olen, sizeof buf);
-       memcpy(buf, text, len);
        h = dc.font.ascent + dc.font.descent;
        y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
        x = dc.x + (h / 2);
        /* shorten text if necessary */
-       for(; len && (i = textnw(buf, len)) > dc.w - h; len--);
+       for(len = MIN(olen, sizeof buf); len && (i = textnw(buf, len)) > dc.w - h; len--);
        if(!len)
                return;
+       memcpy(buf, text, len);
        if(len < olen)
                for(i = len; i && i > len - 3; buf[--i] = '.');
        XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
@@ -1640,10 +1639,10 @@ updatewmhints(Client *c) {
 
 void
 view(const Arg *arg) {
-       if(arg && (arg->ui & TAGMASK) == tagset[seltags])
+       if((arg->ui & TAGMASK) == tagset[seltags])
                return;
        seltags ^= 1; /* toggle sel tagset */
-       if(arg && (arg->ui & TAGMASK))
+       if(arg->ui & TAGMASK)
                tagset[seltags] = arg->ui & TAGMASK;
        clearurgent();
        arrange();