]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - mp3_afh.c
ogg_afh.c: store bitrate, frequency and channels in struct audio_file info
[paraslash.git] / mp3_afh.c
index c49d9bcb1246b4be79f6959d88cfd592708a2b01..cf507ec2b371c187e18123b1cdc5e4be07f6547b 100644 (file)
--- a/mp3_afh.c
+++ b/mp3_afh.c
@@ -228,13 +228,11 @@ out:
        return ret;
 }
 
-/**
+/*
  * find the next mp3 header
  *
- * On success, the length of the next frame header is returned. If the end of
- * the file was reached, the function returns zero. On errors, a negative value
- * is returned.
- *
+ * Return the length of the next frame header or zero if the end of the file is
+ * reached.
  */
 static int mp3_seek_next_header(unsigned char *map, off_t numbytes, off_t *fpos)
 {
@@ -242,11 +240,9 @@ static int mp3_seek_next_header(unsigned char *map, off_t numbytes, off_t *fpos)
        struct mp3header h, h2;
        long valid_start = 0;
 
-       while (1) {
-               while ((*fpos)++ < numbytes && map[*fpos] != 0xff)
-                       ;
-               if (*fpos >= numbytes)
-                       return 0;
+       for (; *fpos < numbytes; (*fpos)++) {
+               if (map[*fpos] != 0xff)
+                       continue;
                valid_start = *fpos;
                first_len = get_header(map, numbytes, fpos, &h);
                if (first_len <= 0)
@@ -265,6 +261,7 @@ static int mp3_seek_next_header(unsigned char *map, off_t numbytes, off_t *fpos)
                        return first_len;
                }
        }
+       return 0;
 }
 
 static void mp3_get_id3(unsigned char *map, off_t numbytes, off_t *fpos)