Assert if we don't have song or song->url set

song objects cannot exist without a path or URL
This commit is contained in:
Eric Wong 2008-10-07 21:20:34 +02:00 committed by Max Kellermann
parent 016af692d9
commit 0d34815f6c
2 changed files with 10 additions and 4 deletions

View File

@ -298,8 +298,8 @@ removeDeletedFromDirectory(char *path_max_tmp, Directory * directory)
for (i = sv->nr; --i >= 0; ) { /* cleaner deletes if we go backwards */
Song *song = sv->base[i];
if (!song || !*song->url)
continue; /* does this happen?, perhaps assert() */
assert(song);
assert(*song->url);
if (dirname)
sprintf(path_max_tmp, "%s/%s", dirname, song->url);

View File

@ -31,8 +31,13 @@
Song *
song_alloc(const char *url, struct _Directory *parent)
{
size_t urllen = strlen(url);
Song *song = xmalloc(sizeof(*song) - sizeof(song->url) + urllen + 1);
size_t urllen;
Song *song;
assert(url);
urllen = strlen(url);
assert(urllen);
song = xmalloc(sizeof(*song) - sizeof(song->url) + urllen + 1);
song->tag = NULL;
memcpy(song->url, url, urllen + 1);
@ -44,6 +49,7 @@ song_alloc(const char *url, struct _Directory *parent)
Song *newSong(const char *url, Directory * parentDir)
{
Song *song;
assert(*url);
if (strchr(url, '\n')) {
DEBUG("newSong: '%s' is not a valid uri\n", url);