[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 :)


More information about the Ardour-Dev mailing list