Untested merge of master.
[dcpomatic.git] / src / lib / util.cc
index ad08c6ab47fed8c022f4bd2b26df04e0c4b996d2..56932720c24a1c1f777a21cd11f08641e2918368 100644 (file)
@@ -976,3 +976,22 @@ FrameRateConversion::FrameRateConversion (float source, int dcp)
                }
        }
 }
+
+LocaleGuard::LocaleGuard ()
+       : _old (0)
+{
+       char const * old = setlocale (LC_NUMERIC, 0);
+
+        if (old) {
+                _old = strdup (old);
+                if (strcmp (_old, "POSIX")) {
+                        setlocale (LC_NUMERIC, "POSIX");
+                }
+        }
+}
+
+LocaleGuard::~LocaleGuard ()
+{
+       setlocale (LC_NUMERIC, _old);
+       free (_old);
+}