|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Svyatoslav Abramenkov 2:464/8088.100 27 Oct 2001 20:39:59 To : berd@desert.ihep.su Subject : что бы это значило? -------------------------------------------------------------------------------- At 27 Oct 01 18:04:47, berd@desert.ihep.su wrote to Svyatoslav Abramenkov: SA>> At 25 Oct 01 10:36:14, berd@desert.ihep.su wrote to Svyatoslav SA>> Abramenkov: SA>>>> Все консольные аппликухи вполне нормально понимают локаль: SA>>>> и пишут по-русски, иксовые же почему-то не могут определить системную SA>>>> локаль: b>>> Проверьте по ltrace, вызывается ли XSetLocaleModifiers(). SA>> Hе похоже: b> Если я правильно помню, через эту функцию в xlib передаются категории b> локализации. Без ее вызова xlib инициализирует локаль как "C". b> Как-то в эхе пролетал файлик с so-шкой, которая через LD_PRELOAD цепляла b> к любому бинарнику вызов этой функции. Попробуйте найти на гугле, если не b> получится - я посмотрю у себя. Уже и не знаю: вот такая вот программа говорит, что вызов SetLocale(LC_ALL, "") и SetLocale(LC_CTYPE, "") возвращает NULL. А должна бы вроде текущую локаль... >===== Start cut [~/tst/1.c] =====< #include <locale.h> #include <stdio.h> void main() { char *s; s = setlocale(LC_ALL, ""); if (s!= NULL) printf("%s\n", s); else printf("NULL!\n"); s = setlocale(LC_CTYPE, ""); if (s!= NULL) printf("%s\n", s); else printf("NULL!\n"); s = setlocale(LC_TIME, ""); if (s!= NULL) printf("%s\n", s); else printf("NULL!\n"); } >===== End cut [~/tst/1.c] =====< -- Svyatoslav <absolute_sh@mail.ru> [Registered Linux user #219421] --- QDed/Linux * Origin: AbSolute Soft&Hard (2:464/8088.100) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/45900bdb0006.html, оценка из 5, голосов 10
|