Index: eagle_bin/test_parser/eagle_bin.c =================================================================== --- eagle_bin/test_parser/eagle_bin.c (revision 9543) +++ eagle_bin/test_parser/eagle_bin.c (revision 9544) @@ -35,6 +35,7 @@ int offs; /* 0 is the terminator (no more offsets) */ int len; pcb_eagle_ss_type_t ss_type; + char *tree_name; /* if not NULL, create a subtree using this name and no attributes */ } subsect_t; typedef struct { @@ -60,8 +61,8 @@ TERM }, { /* subsection sizes */ -/* {2, 2, SS_DIRECT},*/ - {4, 4, SS_RECURSIVE_MINUS_1}, +/* {2, 2, SS_DIRECT, NULL},*/ + {4, 4, SS_RECURSIVE_MINUS_1, NULL}, TERM }, { /* attributes */ @@ -83,8 +84,8 @@ TERM }, { /* subsection sizes */ -/* {2, 2, SS_DIRECT},*/ - {4, 4, SS_RECURSIVE_MINUS_1}, +/* {2, 2, SS_DIRECT, NULL},*/ + {4, 4, SS_RECURSIVE_MINUS_1, NULL}, TERM }, { /* attributes */ @@ -163,7 +164,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_DIRECT}, + {4, 4, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -178,7 +179,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_DIRECT}, + {4, 4, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -194,7 +195,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_DIRECT}, + {4, 4, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -208,7 +209,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_DIRECT}, + {4, 4, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -222,7 +223,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_RECURSIVE}, + {4, 4, SS_RECURSIVE, NULL}, TERM }, { /* attributes */ @@ -238,7 +239,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_RECURSIVE}, + {4, 4, SS_RECURSIVE, NULL}, TERM }, { /* attributes */ @@ -254,7 +255,7 @@ TERM }, { /* subsection sizes */ - {4, 4, SS_RECURSIVE}, + {4, 4, SS_RECURSIVE, NULL}, TERM }, { /* attributes */ @@ -270,7 +271,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -289,10 +290,10 @@ TERM }, { /* subsection sizes */ - {12, 4, SS_RECURSIVE}, /* lib */ - {2, 2, SS_DIRECT}, /* globals */ - {16, 4, SS_RECURSIVE}, /* package refs */ - {20, 4, SS_RECURSIVE}, /* nets */ + {12, 4, SS_RECURSIVE, NULL}, /* lib */ + {2, 2, SS_DIRECT, NULL}, /* globals */ + {16, 4, SS_RECURSIVE, NULL}, /* package refs */ + {20, 4, SS_RECURSIVE, NULL}, /* nets */ TERM }, { /* attributes */ @@ -311,10 +312,10 @@ TERM }, { /* subsection sizes */ - {12, 4, SS_RECURSIVE}, /* lib */ - {2, 2, SS_DIRECT}, /* globals */ - {16, 4, SS_RECURSIVE}, /* package refs */ - {20, 4, SS_RECURSIVE}, /* nets */ + {12, 4, SS_RECURSIVE, NULL}, /* lib */ + {2, 2, SS_DIRECT, NULL}, /* globals */ + {16, 4, SS_RECURSIVE, NULL}, /* package refs */ + {20, 4, SS_RECURSIVE, NULL}, /* nets */ TERM }, { /* attributes */ @@ -333,10 +334,10 @@ TERM }, { /* subsection sizes */ - {12, 4, SS_RECURSIVE}, /* lib */ - {2, 2, SS_DIRECT}, /* globals */ - {16, 4, SS_RECURSIVE}, /* package refs */ - {20, 4, SS_RECURSIVE}, /* nets */ + {12, 4, SS_RECURSIVE, NULL}, /* lib */ + {2, 2, SS_DIRECT, NULL}, /* globals */ + {16, 4, SS_RECURSIVE, NULL}, /* package refs */ + {20, 4, SS_RECURSIVE, NULL}, /* nets */ TERM }, { /* attributes */ @@ -355,10 +356,10 @@ TERM }, { /* subsection sizes */ - {12, 4, SS_RECURSIVE}, /* lib */ - {2, 2, SS_DIRECT}, /* globals */ - {16, 4, SS_RECURSIVE}, /* package refs */ - {20, 4, SS_RECURSIVE}, /* nets */ + {12, 4, SS_RECURSIVE, NULL}, /* lib */ + {2, 2, SS_DIRECT, NULL}, /* globals */ + {16, 4, SS_RECURSIVE, NULL}, /* package refs */ + {20, 4, SS_RECURSIVE, NULL}, /* nets */ TERM }, { /* attributes */ @@ -377,7 +378,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -396,7 +397,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -415,7 +416,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -434,7 +435,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -453,7 +454,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -472,7 +473,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -489,7 +490,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_RECURSIVE}, + {2, 2, SS_RECURSIVE, NULL}, TERM }, { /* attributes */ @@ -507,7 +508,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_RECURSIVE}, + {2, 2, SS_RECURSIVE, NULL}, TERM }, { /* attributes */ @@ -525,7 +526,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -543,7 +544,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -559,7 +560,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -583,7 +584,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1189,7 +1190,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1208,7 +1209,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1227,7 +1228,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1246,7 +1247,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1265,7 +1266,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */ @@ -1323,7 +1324,7 @@ TERM }, { /* subsection sizes */ - {2, 2, SS_DIRECT}, + {2, 2, SS_DIRECT, NULL}, TERM }, { /* attributes */