[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