fixed the tile() issue with xpdf
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 3b6efaa..8930100 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -572,7 +572,7 @@ drawtext(const char *text, ulong col[ColLast], Bool invert) {
        if(!len)
                return;
        if(len < olen)
-               strncpy(&buf[MAX(0, len - 3)], "...", len);
+               memcpy(&buf[MAX(0, len - 3)], "...", 3);
        XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);
        if(dc.font.set)
                XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
@@ -1442,13 +1442,13 @@ tile(void) {
        /* master */
        c = nexttiled(clients);
        mw = mfact * ww;
-       resize(c, wx, wy, ((n == 1) ? ww : mw) - 2 * c->bw, wh - 2 * c->bw, resizehints);
+       resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw, resizehints);
 
        if(--n == 0)
                return;
 
        /* tile stack */
-       x = (wx + mw > c->x + c->w) ? c->x + c->w + 2 * c->bw : ww - mw;
+       x = (wx + mw > c->x + c->w) ? c->x + c->w + 2 * c->bw : wx + mw;
        y = wy;
        w = (wx + mw > c->x + c->w) ? wx + ww - x : ww - mw;
        h = wh / n;