about summary refs log tree commit diff
path: root/third_party/git/column.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/column.c')
-rw-r--r--third_party/git/column.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/third_party/git/column.c b/third_party/git/column.c
index 7a17c14b82..4a38eed322 100644
--- a/third_party/git/column.c
+++ b/third_party/git/column.c
@@ -23,18 +23,7 @@ struct column_data {
 /* return length of 's' in letters, ANSI escapes stripped */
 static int item_length(const char *s)
 {
-	int len, i = 0;
-	struct strbuf str = STRBUF_INIT;
-
-	strbuf_addstr(&str, s);
-	while ((s = strstr(str.buf + i, "\033[")) != NULL) {
-		int len = strspn(s + 2, "0123456789;");
-		i = s - str.buf;
-		strbuf_remove(&str, i, len + 3); /* \033[<len><func char> */
-	}
-	len = utf8_strwidth(str.buf);
-	strbuf_release(&str);
-	return len;
+	return utf8_strnwidth(s, -1, 1);
 }
 
 /*