gst/id3demux/id3v2frames.c: Some more debug info. No need to check whether the string returned by g_convert() is real...

Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_insert_string_field):
Some more debug info. No need to check whether the string
returned by g_convert() is really UTF-8 - either it is or
we get NULL returned.
This commit is contained in:
Tim-Philipp Müller 2006-05-12 08:21:37 +00:00
parent 9edc0c0365
commit d0a4d90b50
2 changed files with 19 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
* gst/id3demux/id3v2frames.c: (parse_insert_string_field):
Some more debug info. No need to check whether the string
returned by g_convert() is really UTF-8 - either it is or
we get NULL returned.
2006-05-10 Jan Schmidt <thaytan@mad.scientist.com> 2006-05-10 Jan Schmidt <thaytan@mad.scientist.com>
* gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist): * gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist):

View file

@ -671,14 +671,20 @@ static void
parse_insert_string_field (const gchar * encoding, gchar * data, gint data_size, parse_insert_string_field (const gchar * encoding, gchar * data, gint data_size,
GArray * fields) GArray * fields)
{ {
gchar *field; gchar *field = NULL;
field = g_convert (data, data_size, "UTF-8", encoding, NULL, NULL, NULL); if (strcmp (encoding, "UTF-8") != 0) {
if (field && !g_utf8_validate (field, -1, NULL)) { field = g_convert (data, data_size, "UTF-8", encoding, NULL, NULL, NULL);
GST_DEBUG ("%s was bad UTF-8. Ignoring", field); if (field == NULL) {
g_free (field); GST_WARNING ("could not convert string from %s to UTF-8. Ignoring",
field = NULL; encoding);
}
} else if (g_utf8_validate (data, data_size, NULL)) {
field = g_strndup (data, data_size);
} else {
GST_WARNING ("alleged UTF-8 string is not valid UTF-8. Ignoring");
} }
if (field) if (field)
g_array_append_val (fields, field); g_array_append_val (fields, field);
} }