JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied Martin Hurton's drawtext() patch
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 7d99390..d903e9a 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -577,15 +577,14 @@ drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
        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();