ardour/libs/pbd/locale_guard.cc
Paul Davis 6c52612009 merge 12954:1363 svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/3.0
git-svn-id: svn://localhost/ardour2/branches/3.0-SG@13364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:50:05 +00:00

29 lines
518 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 (const_cast<char*>(old));
}
}