Index: trunk/src/libcschem/abstract.c =================================================================== --- trunk/src/libcschem/abstract.c (revision 10095) +++ trunk/src/libcschem/abstract.c (revision 10096) @@ -102,7 +102,7 @@ htsp_init(&abs->nets, strhash, strkeyeq); htsp_init(&abs->comps, strhash, strkeyeq); htip_init(&abs->aid2obj, longhash, longkeyeq); - abs->hroot = csch_hlevel_new(NULL); + abs->hroot = csch_hlevel_new(NULL, NULL); abs->next_aid = 1; } Index: trunk/src/libcschem/abstract.h =================================================================== --- trunk/src/libcschem/abstract.h (revision 10095) +++ trunk/src/libcschem/abstract.h (revision 10096) @@ -48,6 +48,7 @@ htsp_t nets; /* local netname -> csch_anet_t */ htsp_t comps; /* local name -> csch_acomp_t */ + csch_cgrp_t *sym; /* the sheetref symbol that created this level (NULL in root) */ csch_hlevel_t *parent; /* NULL in root */ gdl_elem_t link; /* doubly linked list of siblings; not used in root */ gdl_list_t children; /* of (csch_hlevel_t *) */ Index: trunk/src/libcschem/hierarchy.c =================================================================== --- trunk/src/libcschem/hierarchy.c (revision 10095) +++ trunk/src/libcschem/hierarchy.c (revision 10096) @@ -165,7 +165,7 @@ hpath->hdepth = -1; } -csch_hlevel_t *csch_hlevel_new(csch_hlevel_t *parent) +csch_hlevel_t *csch_hlevel_new(csch_hlevel_t *parent, csch_cgrp_t *sym) { csch_hlevel_t *hlev = calloc(sizeof(csch_hlevel_t), 1); if (parent != NULL) { @@ -208,7 +208,7 @@ gds_append(&hpath->prefix, HSEP); /* rnd_trace("HIER: enter [%d '%s']\n", hpath->path.used+1, hpath->prefix.array);*/ - hpath->hlev = csch_hlevel_new(hpath->hlev); + hpath->hlev = csch_hlevel_new(hpath->hlev, sym); hpath->hdepth++; return 0; Index: trunk/src/libcschem/hierarchy.h =================================================================== --- trunk/src/libcschem/hierarchy.h (revision 10095) +++ trunk/src/libcschem/hierarchy.h (revision 10096) @@ -58,7 +58,7 @@ int csch_hier_enter(csch_hier_path_t *hpath, csch_hier_temp_t *tmp, csch_cgrp_t *sym, const char *name); void csch_hier_leave(csch_hier_path_t *hpath, csch_hier_temp_t *tmp); -csch_hlevel_t *csch_hlevel_new(csch_hlevel_t *parent); +csch_hlevel_t *csch_hlevel_new(csch_hlevel_t *parent, csch_cgrp_t *sym); void csch_hlevel_free_tree(csch_hlevel_t *hlev);