From 52ef02b387d8267315547129f7f100048a5c1166 Mon Sep 17 00:00:00 2001 From: John Emmas Date: Thu, 23 Jul 2015 18:27:00 +0100 Subject: A few more instances of non-glib 'open()' getting used without locale-specific input paths (noticed by Todd. probably more to come...) --- libs/ardour/globals.cc | 7 ++++--- libs/ardour/utils.cc | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index fa6f833d94..c18d6a9e41 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -61,6 +61,7 @@ #undef check /* stupid Apple and their un-namespaced, generic Carbon macros */ #endif +#include #include #include @@ -647,13 +648,13 @@ static const bool translate_by_default = true; string ARDOUR::translation_enable_path () { - return Glib::build_filename (user_config_directory(), ".translate"); + return Glib::build_filename (user_config_directory(), ".translate"); } bool ARDOUR::translations_are_enabled () { - int fd = ::open (ARDOUR::translation_enable_path().c_str(), O_RDONLY); + int fd = ::open (Glib::locale_from_utf8 (ARDOUR::translation_enable_path()).c_str(), O_RDONLY); if (fd < 0) { return translate_by_default; @@ -675,7 +676,7 @@ bool ARDOUR::set_translations_enabled (bool yn) { string i18n_enabler = ARDOUR::translation_enable_path(); - int fd = ::open (i18n_enabler.c_str(), O_WRONLY|O_CREAT|O_TRUNC, 0644); + int fd = ::open (Glib::locale_from_utf8 (i18n_enabler).c_str(), O_WRONLY|O_CREAT|O_TRUNC, 0644); if (fd < 0) { return false; diff --git a/libs/ardour/utils.cc b/libs/ardour/utils.cc index 270aaa37fd..71051434c6 100644 --- a/libs/ardour/utils.cc +++ b/libs/ardour/utils.cc @@ -42,6 +42,7 @@ #include #include +#include #include #include @@ -299,7 +300,7 @@ ARDOUR::cmp_nocase_utf8 (const string& s1, const string& s2) int ARDOUR::touch_file (string path) { - int fd = open (path.c_str(), O_RDWR|O_CREAT, 0660); + int fd = open (Glib::locale_from_utf8 (path).c_str(), O_RDWR|O_CREAT, 0660); if (fd >= 0) { close (fd); return 0; -- cgit v1.2.3