diff options
author | C. McEnroe | 2020-09-02 17:03:14 -0400 |
---|---|---|
committer | C. McEnroe | 2020-09-02 17:08:21 -0400 |
commit | 16737d4edc73e3fdc9f6e8f3fc147a549cb5e563 (patch) | |
tree | 754eb545876383171b15fba9fa6c6522f248e0e4 | |
parent | 99612ad8eb6261fc37b179e7e22ca09d9a8ca6ab (diff) |
Preserve style after alignment
This makes wrapping text with background colour look much better.
-rw-r--r-- | buffer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/buffer.c b/buffer.c index fd69cd3..711d5fd 100644 --- a/buffer.c +++ b/buffer.c @@ -33,6 +33,7 @@ #include <sysexits.h> #include <time.h> #include <wchar.h> +#include <wctype.h> #include "chat.h" @@ -160,10 +161,10 @@ static int flow(struct Lines *hard, int cols, const struct Line *soft) { if (!line->str) err(EX_OSERR, "malloc"); struct Cat cat = { line->str, cap, 0 }; + catf(&cat, "%*s%n", align, "", &width); styleCat(&cat, style); str = &line->str[cat.len]; - catf(&cat, "%*s%n%s", align, "", &width, &wrap[n]); - str += width; + catf(&cat, "%s", &wrap[n]); *wrap = '\0'; wrap = NULL; |