From f445b0178ab84ec1484df9de4bd10663819efcc6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 10 Oct 2014 20:53:08 +0200 Subject: [PATCH] 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. --- NEWS | 1 + src/tag/TagString.cxx | 15 +-------------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index 17fc56209..75f995222 100644 --- a/NEWS +++ b/NEWS @@ -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); }