diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-09-01 00:06:19 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-09-01 00:06:19 +0100 |
| commit | cf8bbea2de38c4e9ac140f55b27311b7b6dcd814 (patch) | |
| tree | 7786cf4672ce8c5134c5b9e53947609a1e1c9cc3 /src/lib/util.cc | |
| parent | 22b9f3b2090d8bdfe52cda1e69d3acbe874f1ce5 (diff) | |
| parent | bbb2a4b7ccec953900d13e7bcdad229028bc7795 (diff) | |
Merge master.
Diffstat (limited to 'src/lib/util.cc')
| -rw-r--r-- | src/lib/util.cc | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc index c9685aa44..c09ed9cb2 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -383,35 +383,42 @@ mo_path () } #endif +#ifdef DCPOMATIC_OSX +boost::filesystem::path +mo_path () +{ + return "DCP-o-matic.app/Contents/Resources"; +} +#endif + void dcpomatic_setup_gettext_i18n (string lang) { -#ifdef DCPOMATIC_POSIX +#ifdef DCPOMATIC_LINUX lang += ".UTF8"; #endif if (!lang.empty ()) { - /* Override our environment language; this is essential on - Windows. + /* Override our environment language. Note that the caller must not + free the string passed into putenv(). */ - char cmd[64]; - snprintf (cmd, sizeof(cmd), "LANGUAGE=%s", lang.c_str ()); - putenv (cmd); - snprintf (cmd, sizeof(cmd), "LANG=%s", lang.c_str ()); - putenv (cmd); - snprintf (cmd, sizeof(cmd), "LC_ALL=%s", lang.c_str ()); - putenv (cmd); + string s = String::compose ("LANGUAGE=%1", lang); + putenv (strdup (s.c_str ())); + s = String::compose ("LANG=%1", lang); + putenv (strdup (s.c_str ())); + s = String::compose ("LC_ALL=%1", lang); + putenv (strdup (s.c_str ())); } setlocale (LC_ALL, ""); textdomain ("libdcpomatic"); -#ifdef DCPOMATIC_WINDOWS +#if defined(DCPOMATIC_WINDOWS) || defined(DCPOMATIC_OSX) bindtextdomain ("libdcpomatic", mo_path().string().c_str()); bind_textdomain_codeset ("libdcpomatic", "UTF8"); #endif -#ifdef DCPOMATIC_POSIX +#ifdef DCPOMATIC_LINUX bindtextdomain ("libdcpomatic", POSIX_LOCALE_PREFIX); #endif } |
