xfig-i18n.patch

Jacek Konieczny jajcus w bnet.pl
Pią, 6 Kwi 2001, 08:44:22 CEST


On Thu, Apr 05, 2001 at 09:47:50PM +0200, Paweł Sakowski wrote:
> > >         setlocale(LC_ALL,"");
> > >         setlocale(LC_NUMERIC,"C");
> > To jest już kompletnie źle. Po usawieniu LC_ALL inne ustawienia
> > takie jak LC_NUMERIC są ignorowane.
> 
> Nieprawda. Ostatni wpis sie liczy, a LC_ALL po prostu ustawia wszystkie
> locale jednoczesnie (troche inaczej, niz w srodowisku). Problem lezy
> gdzie indziej: libXt co chwila wywoluje process->globalLangProcRec.proc
> (nie wiem po co), przez to ustawienia locale dlugo nie przezywaja. Widac
> to po skompilowaniu xfig statycznie z libXt, dynamicznie z libc i
> przepuszczeniu przez ltrace'a.
> 
> > Problem jest taki, że patch jest jak najbardziej poprawny ale potem
> > jest wołane: XtSetLanguageProc(NULL, NULL, NULL) a w tej funkcji
> > jest robione setlocale(LC_ALL, "") - patrz punkt 3.
> > 
> > Być może dziś poprawię go tak by odpowiadał punktowi 4) (jeśli
> > tylko wystaczy mi czasu i chęci).
> 
> A moze z innej strony: czy jest jakakolwiek potrzeba odpalania
> XtSetLanguageProc? Bez tego wszystko zdaje sie dzialac bez zarzutu.
Ja mam inną propozycje:
setenv("LC_NUMERIC","C")

Wtedy wszelkie setlocale wywoływane gdzie indziej w programie ustawią
właściwe LC_NUMERIC.

Pozdrowienia,
	Jacek



Więcej informacji o liście dyskusyjnej pld-devel-pl