summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2015-03-07 16:01:26 +0100
committerLars-Dominik Braun <lars@6xq.net>2015-03-07 16:01:26 +0100
commit1cd5c5ec77ea43088982a439b58499be87c62087 (patch)
tree914b1e957ca685f956ee3956ea90c24ec94f5da7
parentd888d0ac2aeb233deeb70aaca196453f8195e433 (diff)
downloadpianobar-1cd5c5ec77ea43088982a439b58499be87c62087.tar.gz
pianobar-1cd5c5ec77ea43088982a439b58499be87c62087.tar.bz2
pianobar-1cd5c5ec77ea43088982a439b58499be87c62087.zip
Fix upcoming songs assertion failure
This should not be an assertion, it is expected to happen. Test with `echo -e "s0\nu" > ctl`. Fixes #509.
-rw-r--r--src/libpiano/piano.h2
-rw-r--r--src/ui_act.c4
2 files changed, 2 insertions, 4 deletions
diff --git a/src/libpiano/piano.h b/src/libpiano/piano.h
index 58eb7ef..28a2b45 100644
--- a/src/libpiano/piano.h
+++ b/src/libpiano/piano.h
@@ -317,7 +317,7 @@ void *PianoListDelete (PianoListHead_t * const l, PianoListHead_t * const e)
__attribute__ ((warn_unused_result));
#define PianoListDeleteP(l,e) PianoListDelete(((l) == NULL) ? NULL : &(l)->head, \
&(e)->head)
-#define PianoListNextP(e) ((void *) (e)->head.next)
+#define PianoListNextP(e) ((e) == NULL ? NULL : (void *) (e)->head.next)
void *PianoListPrepend (PianoListHead_t * const l, PianoListHead_t * const e)
__attribute__ ((warn_unused_result));
#define PianoListPrependP(l,e) PianoListPrepend (((l) == NULL) ? NULL : &(l)->head, \
diff --git a/src/ui_act.c b/src/ui_act.c
index 7515396..c39f98b 100644
--- a/src/ui_act.c
+++ b/src/ui_act.c
@@ -496,9 +496,7 @@ BarUiActCallback(BarUiActTempBanSong) {
/* print upcoming songs
*/
BarUiActCallback(BarUiActPrintUpcoming) {
- assert (selSong != NULL);
-
- PianoSong_t *nextSong = PianoListNextP (selSong);
+ PianoSong_t * const nextSong = PianoListNextP (selSong);
if (nextSong != NULL) {
BarUiListSongs (&app->settings, nextSong, NULL);
} else {