|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 10 Oct 2005 14:19:17 To : Pavel Marenyuk Subject : Re: Бухгалтерия БЭСТ под Линуксом -------------------------------------------------------------------------------- AC>> А факты имеют место быть из-за, во-первых, совршенно идиотских AC>> стандартов в некоторых местах, и, во-вторых, из-за идиотских AC>> реализаций, как самого софта, так и libc. AC>> Вот что спрашивается мешает написать isalpha AC>> вот так AC>> AC>> int isalpha (int ch) AC>> { AC>> assert ((ch >= 0 && ch < 128) AC>> || (MB_CUR_MAX == 1 && ch >= 0 && ch < 256 PM> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^) AC>> || ch == EOF); AC>> AC>> return table [ch + 1]; // EOF == -1 AC>> } AC>> AC>> А то, что тогда вообще ВСЕ перестанет работать, AC>> но зато появятся шансы софт и библиотеки исправить. AC>> Вместо этого в GLIBC сделали соверешнно обратное, AC>> спрятали ошибку поглубже. PM> Вот подчеркнутое и мешает. PM> Блин, 10 лет пошло на то стобы убедить писучую братию в ком что >128 PM> тоже бывают буквы. Сколько ж лет еще убеждать что >256 бывают. PM> Hепробиваемый аргумент - "иначе все развалится". Подчеркнутое не мешает. Оно HЕОБХОДИМО для нормальной работы и 8-bit-ными кодировками и с UTF-8, в последнем HЕТ букв 128-255. Есть конечно и другие multibyte кодировки (Shift-JIS - ASCII несовместим, и посему урод, не в счет), но под юниксами практически только utf-8 и спользуется. -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/172837a5744e6.html, оценка из 5, голосов 10
|