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.
This commit is contained in:
Max Kellermann 2014-10-10 20:53:08 +02:00
parent f618065f7c
commit f445b0178a
2 changed files with 2 additions and 14 deletions

1
NEWS
View File

@ -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

View File

@ -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);
}