[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FreeBSD (Re: Help: не вводятся...)



Ivan Pascal <pascal@info.tsu.ru> wrote :


>> >Что думаете, господа? Хоть и хак, но лучше, чем во все программы
>> > setlocale вставлять.
>>  Во FreeBSD 2.x так и было. Там была специальная переменная
>> окружения, для автоматического включения setlocale.
>   А что - были какие проблемы?
>Или ее просто "принесли в жертву" POSIX?


 Во FreeBSD до 2.2.8 была. В 3.4 - не смотрел, не дошли руки.
По-моему, так :

$ export ENABLE_STARTUP_LOCALE=""

 Нужно чтобы переменная была defined, значение - по барабану.
Ее обработка была по-моему в модуле crt.o (или ld.so ?) . Вообще
говоря во FreeBSD до сих пор дофига всяких хитрых не-POSIX
переменных окружения.

 Для особо страждущих можно сделать "по-FreeBSD-шному".

 А лучше не делать, а авторов пинать. Все-таки, POSIX-1996
какой-никакой, а стандарт... :-)


P.S. Кстати, в какой-то linux-libc (старой) setlocale() не делала
free() на память из под "объектов локализации". Таким образом,
цикл из {selocale(LC_ALL,"A"); setlocale(LC_ALL,"B");} в конце
концов сжирал всю память процесса. Конечно же, если в
программе был только один вызов, то терялись только
встроенные в libc "объекты"  "С".

--
-=AV=-