summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-09-14 18:48:03 -0400
committerJune McEnroe <june@causal.agency>2018-09-14 18:48:03 -0400
commit6aa42b852bc569f7baedc85b74037588777ccbb4 (patch)
treeb97b6f760d1f33f4459fb2fcf54d39ef52cea574 /ui.c
parentApply consecutive formatting codes at once (diff)
downloadcatgirl-6aa42b852bc569f7baedc85b74037588777ccbb4.tar.gz
catgirl-6aa42b852bc569f7baedc85b74037588777ccbb4.zip
Remove word handling from formatParse
Diffstat (limited to '')
-rw-r--r--ui.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ui.c b/ui.c
index e1e006d..b1e56c7 100644
--- a/ui.c
+++ b/ui.c
@@ -194,11 +194,14 @@ static void addFormat(WINDOW *win, const struct Format *format) {
 }
 
 static int addWrap(WINDOW *win, const wchar_t *str) {
+	int lines = 0;
+
 	struct Format format = { .str = str };
 	formatReset(&format);
-
-	int lines = 0;
 	while (formatParse(&format, NULL)) {
+		size_t word = 1 + wcscspn(&format.str[1], L" ");
+		if (word < format.len) format.len = word;
+
 		int _, x, xMax;
 		getyx(win, _, x);
 		getmaxyx(win, _, xMax);
@@ -210,6 +213,7 @@ static int addWrap(WINDOW *win, const wchar_t *str) {
 			waddch(win, '\n');
 			lines++;
 		}
+
 		addFormat(win, &format);
 	}
 	return lines;