diff options
Diffstat (limited to 'src/fs/Charset.cxx')
-rw-r--r-- | src/fs/Charset.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/fs/Charset.cxx b/src/fs/Charset.cxx index 05d644b89..232a9a23c 100644 --- a/src/fs/Charset.cxx +++ b/src/fs/Charset.cxx @@ -25,7 +25,9 @@ #include "Log.hxx" #include "Traits.hxx" +#ifdef HAVE_GLIB #include <glib.h> +#endif #include <algorithm> @@ -42,6 +44,7 @@ */ static constexpr size_t MPD_PATH_MAX_UTF8 = (MPD_PATH_MAX - 1) * 4 + 1; +#ifdef HAVE_GLIB static std::string fs_charset; gcc_pure @@ -71,10 +74,16 @@ SetFSCharset(const char *charset) "SetFSCharset: fs charset is: %s", fs_charset.c_str()); } +#endif + const char * GetFSCharset() { +#ifdef HAVE_GLIB return fs_charset.empty() ? "utf-8" : fs_charset.c_str(); +#else + return "utf-8"; +#endif } static inline void FixSeparators(std::string &s) @@ -95,10 +104,13 @@ PathToUTF8(const char *path_fs) { assert(path_fs != nullptr); +#ifdef HAVE_GLIB if (fs_charset.empty()) { +#endif auto result = std::string(path_fs); FixSeparators(result); return result; +#ifdef HAVE_GLIB } GIConv conv = g_iconv_open("utf-8", fs_charset.c_str()); @@ -123,8 +135,11 @@ PathToUTF8(const char *path_fs) auto result_path = std::string(path_utf8, sizeof(path_utf8) - out_left); FixSeparators(result_path); return result_path; +#endif } +#ifdef HAVE_GLIB + char * PathFromUTF8(const char *path_utf8) { @@ -137,3 +152,5 @@ PathFromUTF8(const char *path_utf8) fs_charset.c_str(), "utf-8", nullptr, nullptr, nullptr); } + +#endif |