13
0
livetrax/libs/pbd/locale_guard.cc
2010-03-30 15:18:43 +00:00

30 lines
506 B
C++

#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include "pbd/locale_guard.h"
using namespace PBD;
LocaleGuard::LocaleGuard (const char* str)
{
old = setlocale (LC_NUMERIC, NULL);
if (old) {
old = strdup (old);
if (strcmp (old, str)) {
setlocale (LC_NUMERIC, str);
}
}
}
LocaleGuard::~LocaleGuard ()
{
setlocale (LC_NUMERIC, old);
if (old) {
free ((char*)old);
}
}