ui/ncurses: Display multibyte strings correctly in textscreens
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>
Tue, 10 Oct 2017 04:36:27 +0000 (15:36 +1100)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Wed, 11 Oct 2017 00:53:26 +0000 (11:53 +1100)
commiteac7fc04e7ce07f6b1a6a0d19af86ae7f74ebc5e
tree60a5614cf374584bbe7106d186ae662ab5fc5934
parente1e2ca689661791ba38bf2572df8a65e36258ac2
ui/ncurses: Display multibyte strings correctly in textscreens

In nc-textscreen each line of text is capped at a certain length to
avoid running off the side of the viewable screen. However it appears
the ncurses function mvwaddnstr() counts by byte instead of actual
character, causing strings which contain multibyte characters to be cut
short.

To avoid this check the displayed length of each string against the
screen width, and if under instruct mvwaddnstr() to print the whole
string.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
ui/ncurses/nc-textscreen.c