diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index d0cf6fd83..46dd085ba 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -898,7 +898,7 @@ if_setparam_model(CKTcircuit *ckt, char **name, char *val) INPgetMod(ckt, mods->GENmodName, &inpmod, ft_curckt->ci_symtab); if (curMod != nghash_delete(ckt->MODnameHash, curMod->GENmodName)) fprintf(stderr, "ERROR, ouch nasal daemons ...\n"); - FREE(mods); + GENmodelFree(mods); inpmod->INPmodfast = NULL; break; diff --git a/src/include/ngspice/gendefs.h b/src/include/ngspice/gendefs.h index 2b41c00b4..27c89d2e3 100644 --- a/src/include/ngspice/gendefs.h +++ b/src/include/ngspice/gendefs.h @@ -46,4 +46,9 @@ struct GENmodel { /* model structure for a resistor */ IFuid GENmodName; /* pointer to character string naming this model */ }; + +void GENinstanceFree(GENinstance *); +void GENmodelFree(GENmodel *); + + #endif diff --git a/src/spicelib/analysis/cktdest.c b/src/spicelib/analysis/cktdest.c index 9573ba79e..6136c7ff4 100644 --- a/src/spicelib/analysis/cktdest.c +++ b/src/spicelib/analysis/cktdest.c @@ -47,12 +47,12 @@ CKTdestroy(CKTcircuit *ckt) GENinstance *next_inst = inst->GENnextInstance; if (DEVices[i]->DEVdelete) DEVices[i]->DEVdelete(inst); - FREE(inst); + GENinstanceFree(inst); inst = next_inst; } if (DEVices[i]->DEVmodDelete) DEVices[i]->DEVmodDelete(model); - FREE(model); + GENmodelFree(model); model = next_model; } if (DEVices[i]->DEVdestroy) diff --git a/src/spicelib/analysis/cktdltm.c b/src/spicelib/analysis/cktdltm.c index bc0ab245d..d27966af2 100644 --- a/src/spicelib/analysis/cktdltm.c +++ b/src/spicelib/analysis/cktdltm.c @@ -37,11 +37,11 @@ CKTdltMod(CKTcircuit *ckt, GENmodel *m) fprintf(stderr, "ERROR, ouch nasal daemons ...\n"); error = SPfrontEnd->IFdelUid (ckt, h->GENname, UID_INSTANCE); - tfree(h); + GENinstanceFree(h); } if (m != nghash_delete(ckt->MODnameHash, m->GENmodName)) fprintf(stderr, "ERROR, ouch nasal daemons ...\n"); error = SPfrontEnd->IFdelUid (ckt, m->GENmodName, UID_MODEL); - tfree(m); + GENmodelFree(m); return(OK); } diff --git a/src/spicelib/analysis/cktmcrt.c b/src/spicelib/analysis/cktmcrt.c index b41c67039..f8b6382c6 100644 --- a/src/spicelib/analysis/cktmcrt.c +++ b/src/spicelib/analysis/cktmcrt.c @@ -42,3 +42,17 @@ CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name) return OK; } + + +void +GENinstanceFree(GENinstance *inst) +{ + txfree(inst); +} + + +void +GENmodelFree(GENmodel *model) +{ + txfree(model); +}