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)
{
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)
return first_len;
}
}
+ return 0;
}
static void mp3_get_id3(unsigned char *map, off_t numbytes, off_t *fpos)