Index: work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c =================================================================== --- work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c (revision 9547) +++ work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c (revision 9548) @@ -2102,7 +2102,6 @@ const fmatch_t *fm; char ind[256]; int processed = 0; - unsigned int cmd_id; memset(ind, ' ', level); ind[level] = '\0'; @@ -2124,7 +2123,10 @@ unsigned int cmdh = (sc->cmd >> 8) & 0xFF, cmdl = sc->cmd & 0xFF; unsigned int mskh = (sc->cmd_mask >> 8) & 0xFF, mskl = sc->cmd_mask & 0xFF; - if (((cmdh & mskh) != (block[0] & mskh)) || ((cmdl & mskl) != (block[1] & mskl))) + assert((cmdh & mskh) == cmdh); + assert((cmdl & mskl) == cmdl); + + if ((cmdh != (block[0] & mskh)) || (cmdl != (block[1] & mskl))) continue; for(fm = sc->fmatch; fm->offs != 0; fm++) { @@ -2133,10 +2135,8 @@ break; } } - if (match) { - cmd_id = ((cmdh & mskh) << 8) | ((cmdl & mskl) << 8); + if (match) goto found; - } } printf("E: unknown block ID 0x%x 0x%x at offset %ld\n", block[0], block[1], ftell(f));