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 02:39:16 +0000 (13:39 +1100)
commitbd680d45a86f7c2c06f7f619394e1fedcf20ca99
treee63301b2d02427f4255d8572a9dfb5ae71c7d7a8
parentf1e6b8daf970463b32eff33da75e14b3122a43a4
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>
(cherry picked from commit eac7fc04e7ce07f6b1a6a0d19af86ae7f74ebc5e)
ui/ncurses/nc-textscreen.c