X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=mp3_afh.c;h=cf507ec2b371c187e18123b1cdc5e4be07f6547b;hb=86c9ceb46b4299282ea1e5f3fe1aab7a97ef30bc;hp=8f36bb83310aed62b33f0ac92796a2f82b091708;hpb=2c6032259d6536daabd4132a3737cac08ebdd018;p=paraslash.git diff --git a/mp3_afh.c b/mp3_afh.c index 8f36bb83..cf507ec2 100644 --- a/mp3_afh.c +++ b/mp3_afh.c @@ -187,15 +187,13 @@ static int compare_headers(struct mp3header *h1,struct mp3header *h2) return 0; } -/** +/* * get next MP3 frame header. * - * \param stream to read the header from - * \param header structure that gets filled in by get_header() - * - * \return On success, the header frame length is returned. A return value of - * zero means that we did not retrieve a valid frame header, and a negative - * return value indicates an error. + * On success, the header frame length is returned and the given header + * structure that is filled in. A return value of zero means that we did not + * retrieve a valid frame header, and a negative return value indicates an + * error. */ static int get_header(unsigned char *map, off_t numbytes, off_t *fpos, struct mp3header *header) @@ -230,13 +228,11 @@ out: return ret; } -/** +/* * find the next mp3 header * - * \return On success, the length of the next frame header. 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) { @@ -244,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) @@ -267,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)