[ardour-dev] latest CVS commit
Paul Davis
paul at linuxaudiosystems.com
Tue Jan 4 04:50:14 PST 2005
>> - people who run ardour with LC_NUMERIC set to something
>> other than en_US.UTF-8 will probably have continued to
>> suffer from locale-based problems because of this
>> problem.
>
>My LC_NUMERIC="de_DE at euro" and here is one example IO:
This is all entirely expected. Although the implementation of my
LocaleGuard object was entirely correct, I made a stupid, silly error
everywhere that I used it. I was supposed to declare an object with
function-scope lifetime, like this:
LocaleGuard lg ("POSIX");
which ensures that all stdio-based i/o done in that function scope
uses the POSIX locale for LC_NUMERIC.
However, what I actually wrote was a legal but useless C++ expression:
LocaleGuard ("POSIX");
which creates and then immediately destroys the object, thus reverting
the LC_NUMERIC locale back to its default, and has no impact on
stdio's operations. It irritates me that this is legal C++, but I
understand the point of it being so. Anyway, its fixed now :)
--p
More information about the Ardour-Dev
mailing list