Index: trunk/src/libcschem/abstract.c =================================================================== --- trunk/src/libcschem/abstract.c (revision 10088) +++ trunk/src/libcschem/abstract.c (revision 10089) @@ -61,6 +61,7 @@ { vtp0_uninit(&net->conns); free(net->name); + free(net->locname); csch_ahdr_uninit(&net->hdr); } @@ -86,6 +87,7 @@ htsp_uninit(&comp->ports); htsp_uninit(&comp->busports); free(comp->name); + free(comp->locname); csch_ahdr_uninit(&comp->hdr); } Index: trunk/src/libcschem/abstract.h =================================================================== --- trunk/src/libcschem/abstract.h (revision 10088) +++ trunk/src/libcschem/abstract.h (revision 10089) @@ -112,7 +112,8 @@ typedef struct csch_anet_s { csch_ahdr_t hdr; vtp0_t conns; /* a list of (csch_ahdr_t *) connections, ports and bus-ports */ - char *name; /* unique name for the hash */ + char *name; /* global unique name for the hash (flat model); includes hierarchic path of some sort */ + char *locname;/* local name within the hierarchic level (doesn't include hierarchic path) */ unsigned no_uname:1; /* 1 if there is no user assigned net name */ unsigned term_term:1; /* the net was created for a "hidden" terminal-terminal connection */ @@ -168,7 +169,8 @@ /* type = CSCH_ATYPE_COMP */ struct csch_acomp_s { csch_ahdr_t hdr; - char *name; + char *name; /* global unique name for the hash (flat model); includes hierarchic path of some sort */ + char *locname; /* local name within the hierarchic level (doesn't include hierarchic path) */ htsp_t ports; /* of csch_aport_t, key is ->name */ htsp_t busports; /* of csch_abusport_t, key is ->name */