Commit 608a98c8 authored by Max Kellermann's avatar Max Kellermann

fs/Charset: default filesystem charset is UTF-8

Implement a fast path for UTF-8 which leaves fs_charset empty, and don't assign a value to fs_charset if there's no configuration.
parent f951e535
ver 0.18 (2012/??/??) ver 0.18 (2012/??/??)
* configuration: * configuration:
- allow tilde paths for socket - allow tilde paths for socket
- default filesystem charset is UTF-8 instead of ISO-8859-1
* protocol: * protocol:
- new command "toggleoutput" - new command "toggleoutput"
- search for album artist falls back to the artist tag - search for album artist falls back to the artist tag
......
...@@ -81,6 +81,9 @@ PathToUTF8(const char *path_fs) ...@@ -81,6 +81,9 @@ PathToUTF8(const char *path_fs)
{ {
assert(path_fs != nullptr); assert(path_fs != nullptr);
if (fs_charset.empty())
return std::string(path_fs);
GIConv conv = g_iconv_open("utf-8", fs_charset.c_str()); GIConv conv = g_iconv_open("utf-8", fs_charset.c_str());
if (conv == reinterpret_cast<GIConv>(-1)) if (conv == reinterpret_cast<GIConv>(-1))
return std::string(); return std::string();
...@@ -108,6 +111,9 @@ PathFromUTF8(const char *path_utf8) ...@@ -108,6 +111,9 @@ PathFromUTF8(const char *path_utf8)
{ {
assert(path_utf8 != nullptr); assert(path_utf8 != nullptr);
if (fs_charset.empty())
return g_strdup(path_utf8);
return g_convert(path_utf8, -1, return g_convert(path_utf8, -1,
fs_charset.c_str(), "utf-8", fs_charset.c_str(), "utf-8",
nullptr, nullptr, nullptr); nullptr, nullptr, nullptr);
......
...@@ -60,11 +60,6 @@ ConfigureFS() ...@@ -60,11 +60,6 @@ ConfigureFS()
#endif #endif
} }
if (charset) { if (charset != nullptr)
SetFSCharset(charset); SetFSCharset(charset);
} else {
LogDebug(path_domain,
"setting filesystem charset to ISO-8859-1");
SetFSCharset("ISO-8859-1");
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment