mp3_afh: Switch to UTF-8 encoding.
authorAndre Noll <maan@systemlinux.org>
Sun, 3 Jun 2012 20:00:31 +0000 (22:00 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 23 Dec 2012 14:03:10 +0000 (15:03 +0100)
The interface of libid3tag allows to get the tag contents in various
formats. Currently, we always call the latin1 variants of these
library functions.

However, as UTF-8 encoding is more widespread these days and almost
all distributions, including the two year old Ubuntu lucid, have
switched to UTF-8, UTF-8 is probably a better choice today.

This patch changes mp3_afh.c to use the UTF-8 variants instead.

mp3_afh.c

index ca703f5..15ee27f 100644 (file)
--- a/mp3_afh.c
+++ b/mp3_afh.c
@@ -72,11 +72,11 @@ static const char *mode_text[] = {"stereo", "joint stereo", "dual channel", "mon
 
 #include <id3tag.h>
 
-static char *get_latin1(id3_ucs4_t const *string)
+static char *get_utf8(id3_ucs4_t const *string)
 {
        if (!string)
                return NULL;
-       return (char *)id3_ucs4_latin1duplicate(string);
+       return (char *)id3_ucs4_utf8duplicate(string);
 }
 
 static char *get_stringlist(union id3_field *field)
@@ -85,7 +85,7 @@ static char *get_stringlist(union id3_field *field)
        char *result = NULL;
 
        for (k = 0; k < nstrings; k++) {
-               char *tmp = (char *)get_latin1(id3_field_getstrings(field, k));
+               char *tmp = (char *)get_utf8(id3_field_getstrings(field, k));
                if (result) {
                        char *tmp2 = result;
                        result = make_message("%s %s", tmp2, tmp);
@@ -101,7 +101,7 @@ static char *get_string(union id3_field *field)
 {
        id3_ucs4_t const *string = id3_field_getfullstring(field);
 
-       return get_latin1(string);
+       return get_utf8(string);
 }
 
 #define FOR_EACH_FIELD(f, j, fr) for (j = 0; j < (fr)->nfields && \