diff options
author | Leah Neukirchen <leah@vuxu.org> | 2019-03-21 15:59:42 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2019-03-21 15:59:42 +0100 |
commit | 0d73424edf1476696270c7bbb2f79764c05a3e5e (patch) | |
tree | 0fce72391e361bafeec837921d8d0d56307450ba | |
parent | b052723eacb71839f86ae6b6d3b862ab781485c4 (diff) | |
download | mblaze-0d73424edf1476696270c7bbb2f79764c05a3e5e.tar.gz mblaze-0d73424edf1476696270c7bbb2f79764c05a3e5e.tar.xz mblaze-0d73424edf1476696270c7bbb2f79764c05a3e5e.zip |
mscan: u8putstr: assume wcwidth of -1 means actually 2 (probably emojis)
-rw-r--r-- | mscan.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mscan.c b/mscan.c index ae4fe35..c9a00a4 100644 --- a/mscan.c +++ b/mscan.c @@ -56,7 +56,10 @@ u8putstr(FILE *out, char *s, ssize_t l, int pad) l--; fprintf(out, "%lc", (wint_t)replacement); } else { - l -= wcwidth((wchar_t)c); + int w = wcwidth((wchar_t)c); + if (w < 0) + w = 2; /* assume worst width */ + l -= w; if (l >= 0) fwrite(s, 1, r, out); } |