Syntax setlocale(3)

Jan Kasprzak kas na ics.muni.cz
Středa Leden 22 13:11:12 CET 1997


	Zdravim,

	pri pokusech o rozchozeni locales v X11 jsem narazil na tento
problem: V libX11 je na nekolika mistech volana funkce setlocale(3)
priblizne timto zpusobem:

	char *charset = setlocale(LC_CTYPE, NULL);

	A ocekava se, ze v charset pak bude jmeno prislusneho
locale typu LC_CTYPE. Nekolika pokusy jsem zjistil, ze setlocale
vraci NULL misto toho, aby vracelo "cz_CZ.ISO8859-2" nebo aspon "C".

	Podle meho nazoru je chyba v Xlibu: Manova stranka setlocale(3)
na Linuxu pise, ze locale se bere z environmentu v pripade, ze druhy
parametr setlocale je "" (a nikoliv NULL, jak to vola Xlib).

	Ma nekdo nejakou normu, kde by se dalo vycist, jak se ma
setlocale(3) volat na POSIXovych systemech? Muj system je Linux 2.1,
libc 5.4.17, XFree86 3.2 (==X11R6.1 s nekolika upravami). Nerad
bych obvinoval Linux, ze je nestandardni :-)

-Yenya

-- 
Jan "Yenya" Kasprzak <kas na fi.muni.cz>            http://www.fi.muni.cz/~kas/
[[[[                      ^^^ Please note my new address.               ]]]]
[[[[      Czech Linux Homepage:  http://www.fi.muni.cz/~kas/linux/      ]]]]
``Hoping the problem  magically goes away  by ignoring it is the  "microsoft
approach to programming"  and should never be allowed.''    --Linus Torvalds



Další informace o konferenci Linux