diff --git a/playlist.c b/playlist.c index a1aeb3ddc6..dc4d82d1fb 100644 --- a/playlist.c +++ b/playlist.c @@ -257,12 +257,25 @@ void playlist_push(playlist_t *playlist, memmove(playlist->entries + 1, playlist->entries, (playlist->cap - 1) * sizeof(playlist_entry_t)); - playlist->entries[0].path = path ? strdup(path) : NULL; - playlist->entries[0].label = label ? strdup(label) : NULL; - playlist->entries[0].core_path = core_path ? strdup(core_path) : NULL; - playlist->entries[0].core_name = core_name ? strdup(core_name) : NULL; - playlist->entries[0].db_name = db_name ? strdup(db_name) : NULL; - playlist->entries[0].crc32 = crc32 ? strdup(crc32) : NULL; + playlist->entries[0].path = NULL; + playlist->entries[0].label = NULL; + playlist->entries[0].core_path = NULL; + playlist->entries[0].core_name = NULL; + playlist->entries[0].db_name = NULL; + playlist->entries[0].crc32 = NULL; + if (!string_is_empty(path)) + playlist->entries[0].path = strdup(path); + if (!string_is_empty(label)) + playlist->entries[0].label = strdup(label); + if (!string_is_empty(core_path)) + playlist->entries[0].core_path = strdup(core_path); + if (!string_is_empty(core_name)) + playlist->entries[0].core_name = strdup(core_name); + if (!string_is_empty(db_name)) + playlist->entries[0].db_name = strdup(db_name); + if (!string_is_empty(crc32)) + playlist->entries[0].crc32 = strdup(crc32); + playlist->size++; }