Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] string_of_float -> float_of_string locale dependency bug
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <xavier.leroy@i...>
Subject: Re: [Caml-list] string_of_float -> float_of_string locale dependency bug
> Camomile needs to set LC_ALL to acquire LC_NUMERIC value.  Camomile
> does not use LC_NUMERIC value currently, but it provides API to
> getting all LC_* values for the user.

Fine.  So what about restoring LC_NUMERIC after getting its value, like you
helpfully suggest that the Caml run-time system does?

> > The C library API for internationalization is largely broken, and as
> > you can see there is nothing we can do to work around the fact that
> > the current locale is a global variable for the whole program.
> 
> You can temporally save the current LC_NUMERIC value, change its value
> to C, and restore the value after the conversion.  What is a problem?

Speed.  setlocale() is quite expensive, and string <-> float
conversions can be extremely frequent.

- Xavier Leroy

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners