From 28a52197c43136945defebe1e8be82812a0e53cf Mon Sep 17 00:00:00 2001
From: "Anselm R.Garbe" <arg@10ksloc.org>
Date: Mon, 14 Aug 2006 10:58:03 +0200
Subject: [PATCH] fixed string cutting

---
 draw.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/draw.c b/draw.c
index 6edb0a3..0ded26b 100644
--- a/draw.c
+++ b/draw.c
@@ -65,12 +65,12 @@ drawtext(const char *text, Bool invert)
 	while(len && (w = textnw(buf, len)) > dc.w - h)
 		buf[--len] = 0;
 	if(len < olen) {
+		if(len > 1)
+			buf[len - 1] = '.';
+		if(len > 2)
+			buf[len - 2] = '.';
 		if(len > 3)
-			memcpy(buf + len - 4, "...\0", 4);
-		else if(len > 2)
-			memcpy(buf + len - 3, "..\0", 3);
-		else if(len > 1)
-			memcpy(buf + len - 2, ".\0", 2);
+			buf[len - 3] = '.';
 	}
 
 	if(w > dc.w)
@@ -160,7 +160,7 @@ drawtitle(Client *c)
 		}
 	}
 	dc.x += dc.w;
-	dc.w = textw(c->name);
+	dc.w = c->tw - dc.x;
 	drawtext(c->name, !istile);
 	XCopyArea(dpy, dc.drawable, c->title, dc.gc, 0, 0, c->tw, c->th, 0, 0);
 	XSync(dpy, False);