Bug 661506

Summary: wins_nwstr works incorrectly in cs_CZ.UTF-8, breaking aspell and probably others
Product: [Fedora] Fedora Reporter: Jaroslav Škarvada <jskarvad>
Component: ncursesAssignee: Miroslav Lichvar <mlichvar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: dickey, jskarvad, mlichvar, varekova
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: ncurses-5.7-9.20100703.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-23 14:54:47 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Description Flags
Possible patch none

Description Jaroslav Škarvada 2010-12-08 16:08:17 EST
Description of problem:
wins_nwstr works incorrectly in cs_CZ.UTF-8

Version-Release number of selected component (if applicable):
Also reproducible in rawhide.

How reproducible:

Steps to Reproduce:
1. gcc -o reproducer reproducer.c -lncursesw
2. LANG=cs_CZ.UTF-8 ./reproducer
3. Type "í" (e.g. press 9 on czech keyboard)
Actual results:
Nothing happened.

Expected results:
"í" should be echoed.

Additional info:
This bug is breaking aspell for czech language (e.g. it is impossible to write replacement word with í, á and others). It was originally discovered by Ivan Loh (loh at 1917 dot com).
Comment 1 Jaroslav Škarvada 2010-12-08 16:10:04 EST
Created attachment 467580 [details]
Comment 2 Jaroslav Škarvada 2010-12-08 16:17:29 EST
Created attachment 467585 [details]
Possible patch

The problem: some chars in cs_CZ.UTF-8 locale (and probably other locales as well) are single bytes, but not ASCII, thus they are not correctly processed. The attached patch should fix it. But it is possible that there are more such "broken" calls in ncurses.
Comment 3 Miroslav Lichvar 2010-12-09 04:11:37 EST
I can reproduce this with 20101128 patch too.
Comment 4 Miroslav Lichvar 2010-12-13 12:06:34 EST
It's fixed in upstream patch 20101211. Thanks.

The two changes in lib_ins_wch are included in ncurses-5.7-9.20100703.fc14.
Comment 5 Fedora Update System 2010-12-13 12:13:45 EST
ncurses-5.7-9.20100703.fc14 has been submitted as an update for Fedora 14.
Comment 6 Thomas E. Dickey 2010-12-13 16:36:01 EST
no problem (I reviewed my test-programs for that area, and
still have some to-do's for the test-programs, but didn't
find any more library fixes to make).
Comment 7 Fedora Update System 2010-12-15 03:57:04 EST
ncurses-5.7-9.20100703.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ncurses'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/ncurses-5.7-9.20100703.fc14
Comment 8 Fedora Update System 2010-12-23 14:54:41 EST
ncurses-5.7-9.20100703.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.