--- ../xmp-2.4.1-orig/src/player/scan.c 2007-10-28 01:43:08 +0900 +++ src/player/scan.c 2007-11-20 19:34:41 +0900 @@ -80,11 +80,9 @@ while (42) { if ((uint32)++ord >= m->xxh->len) { - if ((uint32)++ord >= m->xxh->len) - ord = ((uint32)m->xxh->rst > m->xxh->len || - (uint32)m->xxo[m->xxh->rst] >= m->xxh->pat) ? - 0 : m->xxh->rst; - if (m->xxo[ord] == S3M_END) + ord = ((uint32)m->xxh->rst > m->xxh->len || + (uint32)m->xxo[m->xxh->rst] >= m->xxh->pat) ? 0 : m->xxh->rst; + if (m->xxo[ord] == S3M_END || tab_cnt[ord][break_row]) break; } @@ -100,7 +98,7 @@ } if (tab_cnt[ord][break_row]) - break; + continue; m->xxo_info[ord].gvl = gvl; m->xxo_info[ord].bpm = bpm;