Bug 4310

Summary: В некоторых случаях IGNORECASE работает не верно
Product: Sisyphus Reporter: Renat Sabitov <r_sabitov>
Component: gawkAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: glebfm, ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
патч решает проблему none

Description Renat Sabitov 2004-06-07 17:06:52 MSD
 
Comment 1 Renat Sabitov 2004-06-07 17:07:37 MSD
$ gawk 'BEGIN {IGNORECASE=1; if ("москва" ~ "МОСКВА") print 1; if ("МОСКВА" ~
"москва") print 2; if ("MOSCOW" ~ "moscow") print 3; if ("moscow" ~ "MOSCOW")
print 4;}'
3
4

должно быть
1
2
3
4
Comment 2 Renat Sabitov 2004-06-08 12:08:33 MSD
Created attachment 426 [details]
патч решает проблему

патч устраняет проблемы IGNORECASE для 8-битных локалей. При старте awk таблица
преобразования заполняется значениями, соответствующими текущей локализации.
Comment 3 inger@altlinux.org 2004-06-08 15:54:56 MSD
Спасибо за обнаруженную ошибку. 
upstream оказался не на высоте, прибив гвоздями latin1 и плюнув на другие языки и кодировки. 
Ругань уже пошла к текущиму мантейнеру. 
 
Спасибо за патч, но будем использовать его только в крайнем случае, может быть удастся излечить эту 
проблему на корню (правда Арнольд очень упёртый товарищ, поэтому придётся долго давить на него). 
 
Comment 4 inger@altlinux.org 2004-06-08 15:55:21 MSD
подтвеждаю 
Comment 5 inger@altlinux.org 2004-06-09 15:24:20 MSD
вроде как теперь работает в alt3. Но надеюсь, что upstream решит эту проблему более 
фундаментально.