summaryrefslogtreecommitdiff
path: root/plugins/cdda
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-10-27 08:28:59 +0200
committerGravatar waker <wakeroid@gmail.com>2010-10-27 08:28:59 +0200
commitc84ea509b85ca9c3de93811d38553f562802f3d1 (patch)
tree5547c8d5472f0c92d066cf23bbc2d61df83f2a5c /plugins/cdda
parentba2d6b56e4fb242b93813d40a0fd1a50dfa05942 (diff)
cdtext crashbug fix
Diffstat (limited to 'plugins/cdda')
-rw-r--r--plugins/cdda/cdda.c14
1 files changed, 9 insertions, 5 deletions
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);