diff options
author | Max Kellermann <max@duempel.org> | 2008-10-31 16:29:22 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-10-31 16:29:22 +0100 |
commit | 86fbac54fd47dc21f3689d0efac207f3d6905927 (patch) | |
tree | ecd8d5285f199536e49d1bfa408f91664fe9d1c9 | |
parent | 78448fe1a517aa7734ae14a6959d3f7e0182308e (diff) | |
download | mpd-86fbac54fd47dc21f3689d0efac207f3d6905927.tar.gz mpd-86fbac54fd47dc21f3689d0efac207f3d6905927.tar.xz mpd-86fbac54fd47dc21f3689d0efac207f3d6905927.zip |
decoder: introduce switch statement in decoder_task()
switch looks much nicer than if/elseif/... and gcc generates nice
warnings when a new command is added to the enum.
-rw-r--r-- | src/decoder_thread.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/decoder_thread.c b/src/decoder_thread.c index e26e2e534..389634896 100644 --- a/src/decoder_thread.c +++ b/src/decoder_thread.c @@ -169,15 +169,21 @@ static void * decoder_task(mpd_unused void *arg) while (1) { assert(dc.state == DECODE_STATE_STOP); - if (dc.command == DECODE_COMMAND_START || - dc.command == DECODE_COMMAND_SEEK) { + switch (dc.command) { + case DECODE_COMMAND_START: + case DECODE_COMMAND_SEEK: decodeStart(); - } else if (dc.command == DECODE_COMMAND_STOP) { + break; + + case DECODE_COMMAND_STOP: dc.command = DECODE_COMMAND_NONE; notify_signal(&pc.notify); - } else { + break; + + case DECODE_COMMAND_NONE: notify_wait(&dc.notify); notify_signal(&pc.notify); + break; } } |