Similar to previous patch: eliminate one variable by using "break".
This also simplifies the code since we can remove one level of indent.
---

 src/inputPlugins/audiofile_plugin.c |   28 ++++++++++++----------------
 1 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/src/inputPlugins/audiofile_plugin.c 
b/src/inputPlugins/audiofile_plugin.c
index a50061d..6db342f 100644
--- a/src/inputPlugins/audiofile_plugin.c
+++ b/src/inputPlugins/audiofile_plugin.c
@@ -88,10 +88,10 @@ static int audiofile_decode(struct decoder * decoder, char 
*path)
        decoder_initialized(decoder, &audio_format, total_time);
 
        {
-               int ret, eof = 0, current = 0;
+               int ret, current = 0;
                char chunk[CHUNK_SIZE];
 
-               while (!eof) {
+               do {
                        if (dc.command == DECODE_COMMAND_SEEK) {
                                decoder_clear(decoder);
                                current = dc.seekWhere *
@@ -104,20 +104,16 @@ static int audiofile_decode(struct decoder * decoder, 
char *path)
                            afReadFrames(af_fp, AF_DEFAULT_TRACK, chunk,
                                         CHUNK_SIZE / fs);
                        if (ret <= 0)
-                               eof = 1;
-                       else {
-                               current += ret;
-                               decoder_data(decoder, NULL,
-                                            1,
-                                            chunk, ret * fs,
-                                            (float)current /
-                                            (float)audio_format.
-                                            sampleRate, bitRate,
-                                            NULL);
-                               if (dc.command == DECODE_COMMAND_STOP)
-                                       break;
-                       }
-               }
+
+                       current += ret;
+                       decoder_data(decoder, NULL,
+                                    1,
+                                    chunk, ret * fs,
+                                    (float)current /
+                                    (float)audio_format.
+                                    sampleRate, bitRate,
+                                    NULL);
+               } while (dc.command != DECODE_COMMAND_STOP);
 
                decoder_flush(decoder);
        }


-------------------------------------------------------------------------
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