From c84ea509b85ca9c3de93811d38553f562802f3d1 Mon Sep 17 00:00:00 2001 From: waker Date: Wed, 27 Oct 2010 08:28:59 +0200 Subject: cdtext crashbug fix --- plugins/cdda/cdda.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'plugins/cdda') diff --git a/plugins/cdda/cdda.c b/plugins/cdda/cdda.c index f2e5066c..55cd3bfe 100644 --- a/plugins/cdda/cdda.c +++ b/plugins/cdda/cdda.c @@ -384,15 +384,19 @@ read_track_cdtext (CdIo_t *cdio, int track_nr, DB_playItem_t *item) { switch (field_type) { - case CDTEXT_TITLE: album = strdup (text); break; - case CDTEXT_PERFORMER: artist = strdup (text); break; + case CDTEXT_TITLE: album = text; break; + case CDTEXT_PERFORMER: artist = text; break; } } } trace ("artist: %s; album: %s\n", artist, album); - deadbeef->pl_replace_meta (item, "artist", artist); - deadbeef->pl_replace_meta (item, "album", album); + if (artist) { + deadbeef->pl_replace_meta (item, "artist", artist); + } + if (album) { + deadbeef->pl_replace_meta (item, "album", album); + } cdtext = cdio_get_cdtext (cdio, track_nr); if (!cdtext) @@ -414,7 +418,7 @@ read_track_cdtext (CdIo_t *cdio, int track_nr, DB_playItem_t *item) case CDTEXT_MESSAGE: field = "comment"; break; default: field = NULL; } - if (field) + if (field && text) { trace ("%s: %s\n", field, text); deadbeef->pl_replace_meta (item, field, text); -- cgit v1.2.3