Fix wide character output for download progress
Now that we have a Chinese translation, all of the problems with new
character sets crop up. Assumptions were made in the past that all
characters occupied one column, which is not true with a Chinese character
set. In addition, the download code even failed on such things as 'ö', which
is two bytes wide but only 1 column.
This code will need to also be ported to the add/remove/upgrade/conflicts
progress printouts.
Note that the tests below try to incorporate a number of things:
1. download filenames too long to fit
2. download filenames cut off in the middle of a multibyte sequence
3. download filenames incorporating multicolumn chars
4. download filenames incorporating multibyte, single-column chars
5. 'plain' download filenames that have always worked
Before:
:: 正在同步软件包数据库……
正在解决倚赖��... 0.0K 199.8K/s 00:00:00 [-----------------] 100%
错误:无法升级正在解决倚赖关系junköëjunköëjunköëäää (未预计的系统错误)
正在解决倚赖��... 0.0K 308.4K/s 00:00:00 [-----------------] 100%
错误:无法升级正在解决倚赖关系 (未预计的系统错误)
junköëä 0.0K 390.6K/s 00:00:00 [-----------------] 100%
错误:无法升级junköëä (未预计的系统错误)
pacman-git 0.5K 4.3M/s 00:00:00 [-----------------] 100%
本地数据库已是最新的
After:
:: 正在同步软件包数据库……
正在解决倚赖关系jun... 0.0K 89.7K/s 00:00:00 [-----------------] 100%
错误:无法升级正在解决倚赖关系junköëjunköëjunköëäää (未预计的系统错误)
正在解决倚赖关系 0.0K 147.7K/s 00:00:00 [-----------------] 100%
错误:无法升级正在解决倚赖关系 (未预计的系统错误)
junköëä 0.0K 156.9K/s 00:00:00 [-----------------] 100%
错误:无法升级junköëä (未预计的系统错误)
pacman-git 0.5K 1515.9K/s 00:00:00 [-----------------] 100%
本地数据库已是最新的
Signed-off-by: Dan McGee <dan@archlinux.org>
0 files changed, 0 insertions, 0 deletions