[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help: не вводятсяpyсские бyквы вNetscape'е 3.Х
> > Кстати, вопрос к locale & POSIX гуру -
> >Ну какой такой глубокий смысл вложен в то, что автор обязательно
> должен
> >явно вызвать setlocale (даже если он в этом полный чайник)?
>
>
> Вовсе не обязательно. :-)
>
> А необходимо именно по той причине, почему перед использованием
> какой-нибудь самописной my_lib необходимо вызывать функцию
> init_my_lib().
А почему ее надо вызывать явно?
Тем более, что ее практически всегда используют "без аргументов".
Разговор как раз начался с того, что "конструктор библиотеки" компоновщик
и сам может вызвать.
> Вызов setlocale() устанавливает среду для isalpha(), strcollate() и
> т.п. функций. Если автор эти функции не использует, то ему нет
> необходимости использовать setlocale(). Например, в большинстве
> демонов.
Если бы это была отдельная библиотека, то "Если автор эти функции не
использует" то он мог бы и не подключать ее.
А проблема то в том, что для "иксовых" приложений функция
"input_from_keyboard" зависит от setlocale и очень даже.
Конечно, и она не всем нужна, но если приложение даже использует
ввод для только open/save file, то ее надо бы.
Может тогда надо было сделать что-то типа InitLibX11(), где и вызывать
setlocale?
Что-то подобное для клавиатуры есть. По крайней мере ей нужно взять с
сервера раскладку клавиатуры.
Но эта "Init" вызывается при первом обращении к XLookupString, а это
уже слишком поздно. Если автору нужна именно locale С, он ее уже явно
вызвал.
А отличить "честную установку locale C" от "никакой locale" - никак.
Вот кстати еще одна несуразность - "стандартная locale" и
"locale по умолчанию" одно и то же. Что в этом хорошего?
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia