---

 src/player.c        |    3 +++
 src/player_thread.c |    4 ++++
 src/song.c          |    3 +++
 3 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/player.c b/src/player.c
index c2e84c1..9ca4c6b 100644
--- a/src/player.c
+++ b/src/player.c
@@ -39,6 +39,9 @@ int playerWait(int fd)
 
 static void set_current_song(Song *song)
 {
+       assert(song != NULL);
+       assert(song->url != NULL);
+
        pc.fileTime = song->tag ? song->tag->time : 0;
        pc.next_song = song;
 }
diff --git a/src/player_thread.c b/src/player_thread.c
index fa3bbcc..62badab 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -69,6 +69,7 @@ static int waitOnDecode(int *decodeWaitedOn)
        }
 
        if (dc.error != DECODE_ERROR_NOERROR) {
+               assert(dc.next_song == NULL || dc.next_song->url != NULL);
                pc.errored_song = dc.next_song;
                pc.error = PLAYER_ERROR_FILE;
                return -1;
@@ -148,6 +149,7 @@ static void processDecodeInput(int *pause_r, unsigned int 
*bbp_r,
                                pc.state = PLAYER_STATE_PLAY;
                        } else {
                                char tmp[MPD_PATH_MAX];
+                               assert(dc.next_song == NULL || 
dc.next_song->url != NULL);
                                pc.errored_song = dc.next_song;
                                pc.error = PLAYER_ERROR_AUDIO;
                                ERROR("problems opening audio device "
@@ -246,6 +248,7 @@ static void decodeParent(void)
                                decodeWaitedOn = 0;
                                if(openAudioDevice(&(ob.audioFormat))<0) {
                                        char tmp[MPD_PATH_MAX];
+                                       assert(dc.next_song == NULL || 
dc.next_song->url != NULL);
                                        pc.errored_song = dc.next_song;
                                        pc.error = PLAYER_ERROR_AUDIO;
                                        ERROR("problems opening audio device "
@@ -266,6 +269,7 @@ static void decodeParent(void)
                        }
                        else if(dc.state!=DECODE_STATE_START) {
                                /* the decoder failed */
+                               assert(dc.next_song == NULL || 
dc.next_song->url != NULL);
                                pc.errored_song = dc.next_song;
                                pc.error = PLAYER_ERROR_FILE;
                                break;
diff --git a/src/song.c b/src/song.c
index 1149da8..718c358 100644
--- a/src/song.c
+++ b/src/song.c
@@ -316,6 +316,9 @@ char *get_song_url(char *path_max_tmp, Song *song)
 {
        if (!song)
                return NULL;
+
+       assert(song->url != NULL);
+
        if (!song->parentDir || !song->parentDir->path)
                strcpy(path_max_tmp, song->url);
        else


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to