dwm.c
changeset 1253 81b40dd1b766
parent 1252 d4528eea6e0d
child 1254 d04ee4e2336d
--- a/dwm.c	Sun Jun 01 17:51:22 2008 +0100
+++ b/dwm.c	Mon Jun 02 12:19:02 2008 +0200
@@ -551,7 +551,7 @@
 
 void
 drawtext(const char *text, ulong col[ColLast], Bool invert) {
-	int x, y, w, h;
+	int i, x, y, h;
 	uint len, olen;
 	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
 	char buf[256];
@@ -563,16 +563,15 @@
 	olen = strlen(text);
 	len = MIN(olen, sizeof buf);
 	memcpy(buf, text, len);
-	w = 0;
 	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 && (w = textnw(buf, len)) > dc.w - h; len--);
+	for(; len && (i = textnw(buf, len)) > dc.w - h; len--);
 	if(!len)
 		return;
 	if(len < olen)
-		memcpy(&buf[MAX(0, len - 3)], "...", 3);
+		for(i = len; i >= MAX(0, len - 3); buf[i--] = '.');
 	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);