diff options
author | Max Kellermann <max@duempel.org> | 2014-10-10 20:53:08 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-10-10 20:53:08 +0200 |
commit | f445b0178ab84ec1484df9de4bd10663819efcc6 (patch) | |
tree | 96b949eccf116b57d0ef0d621114217327f172ff | |
parent | f618065f7c797aae190912295bbe5ff73760dbe1 (diff) | |
download | mpd-f445b0178ab84ec1484df9de4bd10663819efcc6.tar.gz mpd-f445b0178ab84ec1484df9de4bd10663819efcc6.tar.xz mpd-f445b0178ab84ec1484df9de4bd10663819efcc6.zip |
TagString: remove ISO-Latin-1 fallback
MPD handles all strings in UTF-8 internally. Those decoders which
read Latin-1 tags are supposed to implement the conversion, instead of
passing Latin-1 to TagBuilder::AddItem(). FixTagString() is simply
the wrong place to do that, and hard-coding Latin-1 is kind of
arbitrary.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/tag/TagString.cxx | 15 |
2 files changed, 2 insertions, 14 deletions
@@ -69,6 +69,7 @@ ver 0.19 (not yet released) - allow playlist directory without music directory - use XDG to auto-detect "music_directory" and "db_file" * add tags "AlbumSort", "MUSICBRAINZ_RELEASETRACKID" +* disable global Latin-1 fallback for tag values * new resampler option using libsoxr * ARM NEON optimizations * install systemd unit for socket activation diff --git a/src/tag/TagString.cxx b/src/tag/TagString.cxx index 0c3868eb5..22fbfc0b8 100644 --- a/src/tag/TagString.cxx +++ b/src/tag/TagString.cxx @@ -52,8 +52,6 @@ static char * fix_utf8(const char *str, size_t length) { const gchar *end; - char *temp; - gsize written; assert(str != nullptr); @@ -61,18 +59,7 @@ fix_utf8(const char *str, size_t length) if (g_utf8_validate(str, length, &end)) return nullptr; - /* no, it's not - try to import it from ISO-Latin-1 */ - temp = g_convert(str, length, "utf-8", "iso-8859-1", - nullptr, &written, nullptr); - if (temp != nullptr) { - /* success! */ - char *p = xstrdup(temp); - g_free(temp); - return p; - } - - /* no, still broken - there's no medication, just patch - invalid sequences */ + /* no, broken - patch invalid sequences */ return patch_utf8(str, length, end); } |