Index: work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c =================================================================== --- work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c (revision 9377) +++ work/alien_formats/eagle/eagle_bin/test_parser/eagle_bin.c (revision 9378) @@ -60,7 +60,7 @@ }, { /* subsection sizes */ {2, 2, SS_DIRECT}, - {4, 4, SS_DIRECT}, + {4, 4, SS_RECURSIVE}, TERM }, { /* attributes */ @@ -213,7 +213,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_RECURSIVE}, + {2, 2, SS_DIRECT}, TERM }, { /* attributes */ @@ -966,7 +966,7 @@ if (ss->ss_type == SS_DIRECT) { printf("About to parse %ld direct sub-blocks\n", numch); - for(n = 0; n < numch && *numblocks != 0; n++) { + for(n = 0; n < numch && *numblocks > 0; n++) { int res = read_block(numblocks, level+1, ctx, f, fn); if (res < 0) return res; @@ -976,7 +976,7 @@ else { long rem = numch; printf("About to parse %ld recursive sub-blocks\n", numch); - for(n = 0; n < numch && rem != 0; n++) { + for(n = 0; n < numch && rem > 0; n++) { int res = read_block(&rem, level+1, ctx, f, fn); if (res < 0) return res;