diff options
author | waker <wakeroid@gmail.com> | 2010-10-27 08:28:59 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2010-10-27 08:28:59 +0200 |
commit | c84ea509b85ca9c3de93811d38553f562802f3d1 (patch) | |
tree | 5547c8d5472f0c92d066cf23bbc2d61df83f2a5c | |
parent | ba2d6b56e4fb242b93813d40a0fd1a50dfa05942 (diff) |
cdtext crashbug fix
-rw-r--r-- | plugins/cdda/cdda.c | 14 |
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); |