freebsd-ports/audio/gqmpeg-devel/files/patch-utf8
Oliver Lehmann e515f3bcf8 fix some utf8 converting issues
bump PORTREVISION
2005-01-14 18:21:21 +00:00

93 lines
4 KiB
Text

--- /tmp/gqmpeg-0.91.1/src/players.c Sat Mar 13 11:11:39 2004
+++ src/players.c Mon Jan 10 00:55:40 2005
@@ -191,6 +191,8 @@
sd = g_new0(SongData, 1);
sd->path = g_strdup(path);
+ if (!g_utf8_validate(sd->path, strlen(sd->path), NULL))
+ sd->path=g_locale_to_utf8(sd->path, strlen(sd->path), NULL, NULL, NULL);
sd->info_loaded = FALSE;
sd->flags = 0;
player_module_get_types(path, &sd->type, &sd->custom, &sd->custom_type, &sd->live);
--- /tmp/gqmpeg-0.91.1/src/io_mpg123.c Fri Apr 2 17:02:34 2004
+++ src/io_mpg123.c Mon Jan 10 01:01:21 2005
@@ -786,13 +786,13 @@
if (mpg123_to_wav_path_enable && mpg123_to_wav_path)
{
- gchar *tmp = remove_extension_from_path(filename_from_path(sd->path));
+ gchar *tmp = remove_extension_from_path(filename_from_path(path_from_utf8(sd->path)));
buf = g_strconcat(mpg123_to_wav_path, "/", tmp, ext, NULL);
g_free(tmp);
}
else
{
- gchar *tmp = remove_extension_from_path(sd->path);
+ gchar *tmp = remove_extension_from_path(path_from_utf8(sd->path));
buf = g_strconcat(tmp, ".wav", NULL);
g_free(tmp);
}
@@ -826,13 +826,13 @@
if (mpg123_extra_is_http(sd))
{
gchar *buf;
- buf = http_path_ensure_root(sd->path);
+ buf = http_path_ensure_root(path_from_utf8(sd->path));
strncpy(cmd_arguments[cmd_cnt], buf, cmd_max);
g_free(buf);
}
else
{
- strncpy(cmd_arguments[cmd_cnt], sd->path, cmd_max);
+ strncpy(cmd_arguments[cmd_cnt], path_from_utf8(sd->path), cmd_max);
}
cmd_ptr[cmd_cnt] = cmd_arguments[cmd_cnt];
cmd_cnt++;
@@ -1080,6 +1080,7 @@
idd = get_id3_tag(sd->path);
if (idd)
{
+
sd->title = idd->title;
sd->artist = idd->artist;
sd->album = idd->album;
@@ -1087,6 +1088,19 @@
sd->comment = idd->comment;
sd->genre = idd->genre_description;
sd->track = idd->track;
+
+ if (sd->title != NULL && !g_utf8_validate(sd->title, strlen(sd->title), NULL))
+ sd->title=g_locale_to_utf8(sd->title, strlen(sd->title), NULL, NULL, NULL);
+ if (sd->artist != NULL && !g_utf8_validate(sd->artist, strlen(sd->artist), NULL))
+ sd->artist=g_locale_to_utf8(sd->artist, strlen(sd->artist), NULL, NULL, NULL);
+ if (sd->album != NULL && strlen(sd->album) > 0 && !g_utf8_validate(sd->album, strlen(sd->album), NULL))
+ sd->album=g_locale_to_utf8(sd->album, strlen(sd->album), NULL, NULL, NULL);
+ if (sd->year != NULL && !g_utf8_validate(sd->year, strlen(sd->year), NULL))
+ sd->year=g_locale_to_utf8(sd->year, strlen(sd->year), NULL, NULL, NULL);
+ if (sd->comment != NULL && !g_utf8_validate(sd->comment, strlen(sd->comment), NULL))
+ sd->comment=g_locale_to_utf8(sd->comment, strlen(sd->comment), NULL, NULL, NULL);
+ if (sd->genre != NULL && !g_utf8_validate(sd->genre, strlen(sd->genre), NULL))
+ sd->genre=g_locale_to_utf8(sd->genre, strlen(sd->genre), NULL, NULL, NULL);
g_free(idd); /* don't free members */
}
--- /tmp/gqmpeg-0.91.1/src/mpg_info.c Sat Mar 13 12:11:21 2004
+++ src/mpg_info.c Mon Jan 10 01:21:30 2005
@@ -228,6 +228,17 @@
if (d || h)
{
+ if (d && d->title != NULL && !g_utf8_validate(d->title, strlen(d->title), NULL))
+ d->title=g_locale_to_utf8(d->title, strlen(d->title), NULL, NULL, NULL);
+ if (d && d->artist != NULL && !g_utf8_validate(d->artist, strlen(d->artist), NULL))
+ d->artist=g_locale_to_utf8(d->artist, strlen(d->artist), NULL, NULL, NULL);
+ if (d && d->album != NULL && strlen(d->album) > 0 && !g_utf8_validate(d->album, strlen(d->album), NULL))
+ d->album=g_locale_to_utf8(d->album, strlen(d->album), NULL, NULL, NULL);
+ if (d && d->year != NULL && !g_utf8_validate(d->year, strlen(d->year), NULL))
+ d->year=g_locale_to_utf8(d->year, strlen(d->year), NULL, NULL, NULL);
+ if (d && d->comment != NULL && !g_utf8_validate(d->comment, strlen(d->comment), NULL))
+ d->comment=g_locale_to_utf8(d->comment, strlen(d->comment), NULL, NULL, NULL);
+
s->title_entry = songinfo_add_entry(vbox1, _("Title"), d ? d->title : NULL,
30, G_CALLBACK(data_changed_cb), s);
s->artist_entry = songinfo_add_entry(vbox1, _("Artist"), d ? d->artist : NULL,