MARK_LEN
if (tot < MARK_LEN + 4) {
if (memcmp(buf, RMID_SIG, MARK_LEN) == 0) {
if ((u_int)GET32_LE(buf + MARK_LEN) != tot - 8) {
buf += MARK_LEN + 4;
if (memcmp(buf, RMID_MIDI_ID, MARK_LEN) != 0) {
buf += MARK_LEN;
while(buf < end-8 && memcmp(buf, RMID_DATA_ID, MARK_LEN))
buf += MARK_LEN; /* "data" */
if (memcmp(buf, MARK_HEADER, MARK_LEN) != 0) {
if (GET32(buf + MARK_LEN) != HEADER_LEN) {
format = GET16(buf + MARK_LEN + SIZE_LEN);
ntrks = GET16(buf + MARK_LEN + SIZE_LEN + 2);
divfmt = GET8(buf + MARK_LEN + SIZE_LEN + 4);
ticks = GET8(buf + MARK_LEN + SIZE_LEN + 5);
p = buf + MARK_LEN + SIZE_LEN + HEADER_LEN;
if (p >= end - MARK_LEN - SIZE_LEN) {
len = GET32(p + MARK_LEN);
if (memcmp(p, MARK_TRACK, MARK_LEN) == 0) {
tracks[t].start = p + MARK_LEN + SIZE_LEN;
p += MARK_LEN + SIZE_LEN + len;