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.
This commit is contained in:
parent
f951e5356b
commit
608a98c873
1
NEWS
1
NEWS
|
@ -1,6 +1,7 @@
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
{
|
{
|
||||||
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()
|
||||||
#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");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue