diff --git a/src/include/ngspice/devdefs.h b/src/include/ngspice/devdefs.h index be1724da1..711751ff2 100644 --- a/src/include/ngspice/devdefs.h +++ b/src/include/ngspice/devdefs.h @@ -73,7 +73,7 @@ typedef struct SPICEdev { /* subroutine to destroy all models and instances */ int (*DEVmodDelete)(GENmodel**,IFuid,GENmodel*); /* subroutine to delete a model and all instances */ - int (*DEVdelete)(GENmodel*,IFuid,GENinstance**); + int (*DEVdelete)(GENinstance*); /* subroutine to delete an instance */ int (*DEVsetic)(GENmodel*,CKTcircuit*); /* routine to pick up device init conds from rhs */ diff --git a/src/include/ngspice/dllitf.h b/src/include/ngspice/dllitf.h index e865c1d8e..ea2e14325 100644 --- a/src/include/ngspice/dllitf.h +++ b/src/include/ngspice/dllitf.h @@ -26,7 +26,7 @@ struct coreInfo_t { int ((*dllitf_MIFmAsk)(CKTcircuit *, GENmodel *, int, IFvalue *)); int ((*dllitf_MIFtrunc)(GENmodel *, CKTcircuit *, double *)); int ((*dllitf_MIFconvTest)(GENmodel *, CKTcircuit *)); - int ((*dllitf_MIFdelete)(GENmodel *, IFuid, GENinstance **)); + int ((*dllitf_MIFdelete)(GENinstance *)); int ((*dllitf_MIFmDelete)(GENmodel **, IFuid, GENmodel *)); void ((*dllitf_MIFdestroy)(GENmodel **)); char * ((*dllitf_MIFgettok)(char **)); diff --git a/src/include/ngspice/mifproto.h b/src/include/ngspice/mifproto.h index cf8e24548..a2e1959a3 100644 --- a/src/include/ngspice/mifproto.h +++ b/src/include/ngspice/mifproto.h @@ -125,9 +125,7 @@ extern int MIFconvTest( ); extern int MIFdelete( - GENmodel *inModel, - IFuid name, - GENinstance **inst + GENinstance *inst ); extern int MIFmDelete( diff --git a/src/spicelib/devices/adms/admst/ngspiceMODULEdel.c.xml b/src/spicelib/devices/adms/admst/ngspiceMODULEdel.c.xml index 38aad852c..1204e5e1f 100644 --- a/src/spicelib/devices/adms/admst/ngspiceMODULEdel.c.xml +++ b/src/spicelib/devices/adms/admst/ngspiceMODULEdel.c.xml @@ -46,22 +46,10 @@ #include "ngspice/suffix.h" int -$(module)delete(GENmodel *model, IFuid name, GENinstance **kill) +$(module)delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/adms/admst/ngspiceMODULEext.h.xml b/src/spicelib/devices/adms/admst/ngspiceMODULEext.h.xml index f7cb5dd5a..086635087 100644 --- a/src/spicelib/devices/adms/admst/ngspiceMODULEext.h.xml +++ b/src/spicelib/devices/adms/admst/ngspiceMODULEext.h.xml @@ -44,7 +44,7 @@ extern int $(module)ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int $(module)mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int $(module)acLoad(GENmodel *,CKTcircuit*); extern int $(module)convTest(GENmodel *,CKTcircuit*); -extern int $(module)delete(GENmodel*,IFuid,GENinstance**); +extern int $(module)delete(GENinstance*); extern int $(module)getic(GENmodel*,CKTcircuit*); extern int $(module)mDelete(GENmodel**,IFuid,GENmodel*); extern int $(module)noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); diff --git a/src/spicelib/devices/asrc/asrcdel.c b/src/spicelib/devices/asrc/asrcdel.c index 8119fd36f..61e844d03 100644 --- a/src/spicelib/devices/asrc/asrcdel.c +++ b/src/spicelib/devices/asrc/asrcdel.c @@ -10,20 +10,8 @@ Author: 1987 Kanwar Jit Singh int -ASRCdelete(GENmodel *model, IFuid name, GENinstance **kill) +ASRCdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/asrc/asrcext.h b/src/spicelib/devices/asrc/asrcext.h index 14218c685..27a15b5d4 100644 --- a/src/spicelib/devices/asrc/asrcext.h +++ b/src/spicelib/devices/asrc/asrcext.h @@ -5,7 +5,7 @@ Author: 1985 Thomas L. Quarles extern int ASRCask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue*); extern int ASRCconvTest(GENmodel *, CKTcircuit *); -extern int ASRCdelete(GENmodel *, IFuid, GENinstance **); +extern int ASRCdelete(GENinstance *); extern void ASRCdestroy(GENmodel **); extern int ASRCfindBr(CKTcircuit *, GENmodel *, IFuid); extern int ASRCload(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/bjt/bjtdel.c b/src/spicelib/devices/bjt/bjtdel.c index bb72e2259..0d94f4cb0 100644 --- a/src/spicelib/devices/bjt/bjtdel.c +++ b/src/spicelib/devices/bjt/bjtdel.c @@ -15,20 +15,8 @@ Author: 1985 Thomas L. Quarles int -BJTdelete(GENmodel *model, IFuid name, GENinstance **kill) +BJTdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bjt/bjtext.h b/src/spicelib/devices/bjt/bjtext.h index 16655610f..29b30859f 100644 --- a/src/spicelib/devices/bjt/bjtext.h +++ b/src/spicelib/devices/bjt/bjtext.h @@ -10,7 +10,7 @@ Modified: 2000 AlansFixes extern int BJTacLoad(GENmodel *,CKTcircuit*); extern int BJTask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BJTconvTest(GENmodel*,CKTcircuit*); -extern int BJTdelete(GENmodel*,IFuid,GENinstance**); +extern int BJTdelete(GENinstance*); extern void BJTdestroy(GENmodel**); extern int BJTgetic(GENmodel*,CKTcircuit*); extern int BJTload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim1/b1del.c b/src/spicelib/devices/bsim1/b1del.c index 772ea082b..36cfe2262 100644 --- a/src/spicelib/devices/bsim1/b1del.c +++ b/src/spicelib/devices/bsim1/b1del.c @@ -11,20 +11,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles int -B1delete(GENmodel *model, IFuid name, GENinstance **kill) +B1delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim1/bsim1ext.h b/src/spicelib/devices/bsim1/bsim1ext.h index e859e3009..ffe891703 100644 --- a/src/spicelib/devices/bsim1/bsim1ext.h +++ b/src/spicelib/devices/bsim1/bsim1ext.h @@ -8,7 +8,7 @@ Modified: 2000 AlansFixes extern int B1acLoad(GENmodel *,CKTcircuit*); extern int B1ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B1convTest(GENmodel *,CKTcircuit*); -extern int B1delete(GENmodel*,IFuid,GENinstance**); +extern int B1delete(GENinstance*); extern void B1destroy(GENmodel**); extern int B1getic(GENmodel*,CKTcircuit*); extern int B1load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim2/b2del.c b/src/spicelib/devices/bsim2/b2del.c index 6c535df93..c7af20e67 100644 --- a/src/spicelib/devices/bsim2/b2del.c +++ b/src/spicelib/devices/bsim2/b2del.c @@ -11,20 +11,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles int -B2delete(GENmodel *model, IFuid name, GENinstance **kill) +B2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim2/bsim2ext.h b/src/spicelib/devices/bsim2/bsim2ext.h index ab7b800da..cf88f9758 100644 --- a/src/spicelib/devices/bsim2/bsim2ext.h +++ b/src/spicelib/devices/bsim2/bsim2ext.h @@ -6,7 +6,7 @@ Author: 1988 Min-Chie Jeng, Hong June Park, Thomas L. Quarles extern int B2acLoad(GENmodel *,CKTcircuit*); extern int B2ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B2convTest(GENmodel *,CKTcircuit*); -extern int B2delete(GENmodel*,IFuid,GENinstance**); +extern int B2delete(GENinstance*); extern void B2destroy(GENmodel**); extern int B2getic(GENmodel*,CKTcircuit*); extern int B2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3/b3del.c b/src/spicelib/devices/bsim3/b3del.c index ce24a41ca..d7c704f6e 100644 --- a/src/spicelib/devices/bsim3/b3del.c +++ b/src/spicelib/devices/bsim3/b3del.c @@ -17,20 +17,8 @@ int -BSIM3delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM3delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3/bsim3ext.h b/src/spicelib/devices/bsim3/bsim3ext.h index 2282a6d37..9c7df5bbf 100644 --- a/src/spicelib/devices/bsim3/bsim3ext.h +++ b/src/spicelib/devices/bsim3/bsim3ext.h @@ -8,7 +8,7 @@ File: bsim3ext.h extern int BSIM3acLoad(GENmodel *,CKTcircuit*); extern int BSIM3ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM3convTest(GENmodel *,CKTcircuit*); -extern int BSIM3delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM3delete(GENinstance*); extern void BSIM3destroy(GENmodel**); extern int BSIM3getic(GENmodel*,CKTcircuit*); extern int BSIM3load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3soi_dd/b3soidddel.c b/src/spicelib/devices/bsim3soi_dd/b3soidddel.c index c5a73cf0f..335d38e4f 100644 --- a/src/spicelib/devices/bsim3soi_dd/b3soidddel.c +++ b/src/spicelib/devices/bsim3soi_dd/b3soidddel.c @@ -18,20 +18,8 @@ Modified by Paolo Nenzi 2002 int -B3SOIDDdelete(GENmodel *model, IFuid name, GENinstance **kill) +B3SOIDDdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3soi_dd/b3soiddext.h b/src/spicelib/devices/bsim3soi_dd/b3soiddext.h index 1d5d90695..45504ba43 100644 --- a/src/spicelib/devices/bsim3soi_dd/b3soiddext.h +++ b/src/spicelib/devices/bsim3soi_dd/b3soiddext.h @@ -8,7 +8,7 @@ Modifed by Paolo Nenzi 2002 extern int B3SOIDDacLoad(GENmodel *,CKTcircuit*); extern int B3SOIDDask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B3SOIDDconvTest(GENmodel *,CKTcircuit*); -extern int B3SOIDDdelete(GENmodel*,IFuid,GENinstance**); +extern int B3SOIDDdelete(GENinstance*); extern void B3SOIDDdestroy(GENmodel**); extern int B3SOIDDgetic(GENmodel*,CKTcircuit*); extern int B3SOIDDload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3soi_fd/b3soifddel.c b/src/spicelib/devices/bsim3soi_fd/b3soifddel.c index 80838ca62..9f71cf211 100644 --- a/src/spicelib/devices/bsim3soi_fd/b3soifddel.c +++ b/src/spicelib/devices/bsim3soi_fd/b3soifddel.c @@ -18,20 +18,8 @@ File: b3soifddel.c 98/5/01 int -B3SOIFDdelete(GENmodel *model, IFuid name, GENinstance **kill) +B3SOIFDdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3soi_fd/b3soifdext.h b/src/spicelib/devices/bsim3soi_fd/b3soifdext.h index 1c6ed33dd..4c4308640 100644 --- a/src/spicelib/devices/bsim3soi_fd/b3soifdext.h +++ b/src/spicelib/devices/bsim3soi_fd/b3soifdext.h @@ -8,7 +8,7 @@ File: b3soifdext.h extern int B3SOIFDacLoad(GENmodel *,CKTcircuit*); extern int B3SOIFDask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B3SOIFDconvTest(GENmodel *,CKTcircuit*); -extern int B3SOIFDdelete(GENmodel*,IFuid,GENinstance**); +extern int B3SOIFDdelete(GENinstance*); extern void B3SOIFDdestroy(GENmodel**); extern int B3SOIFDgetic(GENmodel*,CKTcircuit*); extern int B3SOIFDload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3soi_pd/b3soipddel.c b/src/spicelib/devices/bsim3soi_pd/b3soipddel.c index db893aaba..d8fa77eed 100644 --- a/src/spicelib/devices/bsim3soi_pd/b3soipddel.c +++ b/src/spicelib/devices/bsim3soi_pd/b3soipddel.c @@ -18,20 +18,8 @@ Modified by Paolo Nenzi 2002 int -B3SOIPDdelete(GENmodel *model, IFuid name, GENinstance **kill) +B3SOIPDdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3soi_pd/b3soipdext.h b/src/spicelib/devices/bsim3soi_pd/b3soipdext.h index ea2951794..a2ebdedd7 100644 --- a/src/spicelib/devices/bsim3soi_pd/b3soipdext.h +++ b/src/spicelib/devices/bsim3soi_pd/b3soipdext.h @@ -8,7 +8,7 @@ Modified by Paolo Nenzi 2002 extern int B3SOIPDacLoad(GENmodel *,CKTcircuit*); extern int B3SOIPDask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B3SOIPDconvTest(GENmodel *,CKTcircuit*); -extern int B3SOIPDdelete(GENmodel*,IFuid,GENinstance**); +extern int B3SOIPDdelete(GENinstance*); extern void B3SOIPDdestroy(GENmodel**); extern int B3SOIPDgetic(GENmodel*,CKTcircuit*); extern int B3SOIPDload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3v0/b3v0del.c b/src/spicelib/devices/bsim3v0/b3v0del.c index e0ff7aed0..fabb93d2e 100644 --- a/src/spicelib/devices/bsim3v0/b3v0del.c +++ b/src/spicelib/devices/bsim3v0/b3v0del.c @@ -12,20 +12,8 @@ File: b3v0del.c int -BSIM3v0delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM3v0delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3v0/bsim3v0ext.h b/src/spicelib/devices/bsim3v0/bsim3v0ext.h index 02ad75173..85715c7c4 100644 --- a/src/spicelib/devices/bsim3v0/bsim3v0ext.h +++ b/src/spicelib/devices/bsim3v0/bsim3v0ext.h @@ -7,7 +7,7 @@ File: bsim3v0ext.h extern int BSIM3v0acLoad(GENmodel *,CKTcircuit*); extern int BSIM3v0ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM3v0convTest(GENmodel *,CKTcircuit*); -extern int BSIM3v0delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM3v0delete(GENinstance*); extern void BSIM3v0destroy(GENmodel**); extern int BSIM3v0getic(GENmodel*,CKTcircuit*); extern int BSIM3v0load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim3v1/b3v1del.c b/src/spicelib/devices/bsim3v1/b3v1del.c index 3b889694f..825a866b2 100644 --- a/src/spicelib/devices/bsim3v1/b3v1del.c +++ b/src/spicelib/devices/bsim3v1/b3v1del.c @@ -18,20 +18,8 @@ int -BSIM3v1delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM3v1delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3v1/bsim3v1ext.h b/src/spicelib/devices/bsim3v1/bsim3v1ext.h index 67c96c37e..7479b4ee5 100644 --- a/src/spicelib/devices/bsim3v1/bsim3v1ext.h +++ b/src/spicelib/devices/bsim3v1/bsim3v1ext.h @@ -8,7 +8,7 @@ File: bsim3v1ext.h extern int BSIM3v1acLoad(GENmodel *, CKTcircuit *); extern int BSIM3v1ask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); extern int BSIM3v1convTest(GENmodel *, CKTcircuit *); -extern int BSIM3v1delete(GENmodel *, IFuid, GENinstance **); +extern int BSIM3v1delete(GENinstance *); extern void BSIM3v1destroy(GENmodel **); extern int BSIM3v1getic(GENmodel *, CKTcircuit *); extern int BSIM3v1load(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/bsim3v32/b3v32del.c b/src/spicelib/devices/bsim3v32/b3v32del.c index b12113928..285073c0e 100644 --- a/src/spicelib/devices/bsim3v32/b3v32del.c +++ b/src/spicelib/devices/bsim3v32/b3v32del.c @@ -18,20 +18,8 @@ int -BSIM3v32delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM3v32delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim3v32/bsim3v32ext.h b/src/spicelib/devices/bsim3v32/bsim3v32ext.h index 64ff43ccf..a04fb6778 100644 --- a/src/spicelib/devices/bsim3v32/bsim3v32ext.h +++ b/src/spicelib/devices/bsim3v32/bsim3v32ext.h @@ -9,7 +9,7 @@ File: bsim3ext.h extern int BSIM3v32acLoad(GENmodel *,CKTcircuit*); extern int BSIM3v32ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM3v32convTest(GENmodel *,CKTcircuit*); -extern int BSIM3v32delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM3v32delete(GENinstance*); extern void BSIM3v32destroy(GENmodel**); extern int BSIM3v32getic(GENmodel*,CKTcircuit*); extern int BSIM3v32load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim4/b4del.c b/src/spicelib/devices/bsim4/b4del.c index 38062affc..91d891ec0 100644 --- a/src/spicelib/devices/bsim4/b4del.c +++ b/src/spicelib/devices/bsim4/b4del.c @@ -66,20 +66,8 @@ int -BSIM4delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM4delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim4/bsim4ext.h b/src/spicelib/devices/bsim4/bsim4ext.h index 3a4b32728..4786dd2f9 100644 --- a/src/spicelib/devices/bsim4/bsim4ext.h +++ b/src/spicelib/devices/bsim4/bsim4ext.h @@ -61,7 +61,7 @@ extern int BSIM4acLoad(GENmodel *,CKTcircuit*); extern int BSIM4ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM4convTest(GENmodel *,CKTcircuit*); -extern int BSIM4delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM4delete(GENinstance*); extern void BSIM4destroy(GENmodel**); extern int BSIM4getic(GENmodel*,CKTcircuit*); extern int BSIM4load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim4v5/b4v5del.c b/src/spicelib/devices/bsim4v5/b4v5del.c index fa008a675..554c1fb00 100644 --- a/src/spicelib/devices/bsim4v5/b4v5del.c +++ b/src/spicelib/devices/bsim4v5/b4v5del.c @@ -16,20 +16,8 @@ int -BSIM4v5delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM4v5delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim4v5/bsim4v5ext.h b/src/spicelib/devices/bsim4v5/bsim4v5ext.h index d4b72da68..b906984d4 100644 --- a/src/spicelib/devices/bsim4v5/bsim4v5ext.h +++ b/src/spicelib/devices/bsim4v5/bsim4v5ext.h @@ -8,7 +8,7 @@ File: bsim4v5ext.h extern int BSIM4v5acLoad(GENmodel *,CKTcircuit*); extern int BSIM4v5ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM4v5convTest(GENmodel *,CKTcircuit*); -extern int BSIM4v5delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM4v5delete(GENinstance*); extern void BSIM4v5destroy(GENmodel**); extern int BSIM4v5getic(GENmodel*,CKTcircuit*); extern int BSIM4v5load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim4v6/b4v6del.c b/src/spicelib/devices/bsim4v6/b4v6del.c index 25ec7156e..278d13aa5 100644 --- a/src/spicelib/devices/bsim4v6/b4v6del.c +++ b/src/spicelib/devices/bsim4v6/b4v6del.c @@ -18,20 +18,8 @@ int -BSIM4v6delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM4v6delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim4v6/bsim4v6ext.h b/src/spicelib/devices/bsim4v6/bsim4v6ext.h index c08a6b9b9..e2a20db49 100644 --- a/src/spicelib/devices/bsim4v6/bsim4v6ext.h +++ b/src/spicelib/devices/bsim4v6/bsim4v6ext.h @@ -8,7 +8,7 @@ File: bsim4v6ext.h extern int BSIM4v6acLoad(GENmodel *,CKTcircuit*); extern int BSIM4v6ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM4v6convTest(GENmodel *,CKTcircuit*); -extern int BSIM4v6delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM4v6delete(GENinstance*); extern void BSIM4v6destroy(GENmodel**); extern int BSIM4v6getic(GENmodel*,CKTcircuit*); extern int BSIM4v6load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsim4v7/b4v7del.c b/src/spicelib/devices/bsim4v7/b4v7del.c index 7da945b54..b563df73a 100644 --- a/src/spicelib/devices/bsim4v7/b4v7del.c +++ b/src/spicelib/devices/bsim4v7/b4v7del.c @@ -18,20 +18,8 @@ int -BSIM4v7delete(GENmodel *model, IFuid name, GENinstance **kill) +BSIM4v7delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsim4v7/bsim4v7ext.h b/src/spicelib/devices/bsim4v7/bsim4v7ext.h index e6e863087..93919858f 100644 --- a/src/spicelib/devices/bsim4v7/bsim4v7ext.h +++ b/src/spicelib/devices/bsim4v7/bsim4v7ext.h @@ -8,7 +8,7 @@ File: bsim4v7ext.h extern int BSIM4v7acLoad(GENmodel *,CKTcircuit*); extern int BSIM4v7ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int BSIM4v7convTest(GENmodel *,CKTcircuit*); -extern int BSIM4v7delete(GENmodel*,IFuid,GENinstance**); +extern int BSIM4v7delete(GENinstance*); extern void BSIM4v7destroy(GENmodel**); extern int BSIM4v7getic(GENmodel*,CKTcircuit*); extern int BSIM4v7load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/bsimsoi/b4soidel.c b/src/spicelib/devices/bsimsoi/b4soidel.c index 9add8a2fb..ab85ff8b4 100644 --- a/src/spicelib/devices/bsimsoi/b4soidel.c +++ b/src/spicelib/devices/bsimsoi/b4soidel.c @@ -21,20 +21,8 @@ int -B4SOIdelete(GENmodel *model, IFuid name, GENinstance **kill) +B4SOIdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/bsimsoi/b4soiext.h b/src/spicelib/devices/bsimsoi/b4soiext.h index bb252b941..b2133c266 100644 --- a/src/spicelib/devices/bsimsoi/b4soiext.h +++ b/src/spicelib/devices/bsimsoi/b4soiext.h @@ -10,7 +10,7 @@ File: b4soiext.h extern int B4SOIacLoad(GENmodel *,CKTcircuit*); extern int B4SOIask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int B4SOIconvTest(GENmodel *,CKTcircuit*); -extern int B4SOIdelete(GENmodel*,IFuid,GENinstance**); +extern int B4SOIdelete(GENinstance*); extern void B4SOIdestroy(GENmodel**); extern int B4SOIgetic(GENmodel*,CKTcircuit*); extern int B4SOIload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/cap/capdel.c b/src/spicelib/devices/cap/capdel.c index 464317da2..6f8b56eeb 100644 --- a/src/spicelib/devices/cap/capdel.c +++ b/src/spicelib/devices/cap/capdel.c @@ -11,20 +11,8 @@ Modified: September 2003 Paolo Nenzi int -CAPdelete(GENmodel *model, IFuid name, GENinstance **kill) +CAPdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/cap/capext.h b/src/spicelib/devices/cap/capext.h index d128959c4..e42b8dc31 100644 --- a/src/spicelib/devices/cap/capext.h +++ b/src/spicelib/devices/cap/capext.h @@ -5,7 +5,7 @@ Author: 1985 Thomas L. Quarles extern int CAPacLoad(GENmodel*,CKTcircuit*); extern int CAPask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int CAPdelete(GENmodel*,IFuid,GENinstance**); +extern int CAPdelete(GENinstance*); extern void CAPdestroy(GENmodel**); extern int CAPgetic(GENmodel*,CKTcircuit*); extern int CAPload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/cccs/cccsdel.c b/src/spicelib/devices/cccs/cccsdel.c index f5deec13a..8a6344a40 100644 --- a/src/spicelib/devices/cccs/cccsdel.c +++ b/src/spicelib/devices/cccs/cccsdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -CCCSdelete(GENmodel *model, IFuid name, GENinstance **kill) +CCCSdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/cccs/cccsext.h b/src/spicelib/devices/cccs/cccsext.h index 5a8934518..162ad9d61 100644 --- a/src/spicelib/devices/cccs/cccsext.h +++ b/src/spicelib/devices/cccs/cccsext.h @@ -5,7 +5,7 @@ Author: 1985 Thomas L. Quarles extern int CCCSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int CCCSdelete(GENmodel*,IFuid,GENinstance**); +extern int CCCSdelete(GENinstance*); extern void CCCSdestroy(GENmodel**); extern int CCCSload(GENmodel*,CKTcircuit*); extern int CCCSmDelete(GENmodel**,IFuid,GENmodel*); diff --git a/src/spicelib/devices/ccvs/ccvsdel.c b/src/spicelib/devices/ccvs/ccvsdel.c index 448ea433f..0dce68da5 100644 --- a/src/spicelib/devices/ccvs/ccvsdel.c +++ b/src/spicelib/devices/ccvs/ccvsdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -CCVSdelete(GENmodel *model, IFuid name, GENinstance **kill) +CCVSdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/ccvs/ccvsext.h b/src/spicelib/devices/ccvs/ccvsext.h index 779cdd225..bb6ba2e4c 100644 --- a/src/spicelib/devices/ccvs/ccvsext.h +++ b/src/spicelib/devices/ccvs/ccvsext.h @@ -4,7 +4,7 @@ Author: 1985 Thomas L. Quarles **********/ extern int CCVSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int CCVSdelete(GENmodel*,IFuid,GENinstance**); +extern int CCVSdelete(GENinstance*); extern void CCVSdestroy(GENmodel**); extern int CCVSfindBr(CKTcircuit*,GENmodel*,IFuid); extern int CCVSload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/cpl/cpldel.c b/src/spicelib/devices/cpl/cpldel.c index 35cf216af..2a44088a4 100644 --- a/src/spicelib/devices/cpl/cpldel.c +++ b/src/spicelib/devices/cpl/cpldel.c @@ -11,20 +11,8 @@ Author: 1992 Charles Hough int -CPLdelete(GENmodel *model, IFuid name, GENinstance **kill) +CPLdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/cpl/cplext.h b/src/spicelib/devices/cpl/cplext.h index 1f2930cf9..16db90c93 100644 --- a/src/spicelib/devices/cpl/cplext.h +++ b/src/spicelib/devices/cpl/cplext.h @@ -5,7 +5,7 @@ reserved. /* extern int CPLaccept(CKTcircuit*, GENmodel*); */ extern int CPLask(CKTcircuit*, GENinstance*, int, IFvalue*, IFvalue*); -extern int CPLdelete(GENmodel*, IFuid,GENinstance**); +extern int CPLdelete(GENinstance*); extern void CPLdestroy(GENmodel**); extern int CPLload(GENmodel*, CKTcircuit*); extern int CPLmAsk(CKTcircuit*, GENmodel*, int, IFvalue*); diff --git a/src/spicelib/devices/csw/cswdel.c b/src/spicelib/devices/csw/cswdel.c index 060205620..a96c5d7c1 100644 --- a/src/spicelib/devices/csw/cswdel.c +++ b/src/spicelib/devices/csw/cswdel.c @@ -10,20 +10,8 @@ Author: 1985 Gordon Jacobs int -CSWdelete(GENmodel *model, IFuid name, GENinstance **kill) +CSWdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/csw/cswext.h b/src/spicelib/devices/csw/cswext.h index daf6dbc11..25307d9cd 100644 --- a/src/spicelib/devices/csw/cswext.h +++ b/src/spicelib/devices/csw/cswext.h @@ -6,7 +6,7 @@ Modified: 2000 AlansFixes extern int CSWask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int CSWacLoad(GENmodel*,CKTcircuit*); -extern int CSWdelete(GENmodel*,IFuid,GENinstance**); +extern int CSWdelete(GENinstance*); extern void CSWdestroy(GENmodel**); extern int CSWload(GENmodel*,CKTcircuit*); extern int CSWmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); diff --git a/src/spicelib/devices/dio/diodel.c b/src/spicelib/devices/dio/diodel.c index 54b5418c0..1b32b4961 100644 --- a/src/spicelib/devices/dio/diodel.c +++ b/src/spicelib/devices/dio/diodel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -DIOdelete(GENmodel *model, IFuid name, GENinstance **kill) +DIOdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/dio/dioext.h b/src/spicelib/devices/dio/dioext.h index 803efea33..c929e89bc 100644 --- a/src/spicelib/devices/dio/dioext.h +++ b/src/spicelib/devices/dio/dioext.h @@ -7,7 +7,7 @@ Modified: 2000 AlansFixes extern int DIOacLoad(GENmodel*,CKTcircuit*); extern int DIOask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int DIOconvTest(GENmodel *,CKTcircuit*); -extern int DIOdelete(GENmodel*,IFuid,GENinstance**); +extern int DIOdelete(GENinstance*); extern void DIOdestroy(GENmodel**); extern int DIOgetic(GENmodel*,CKTcircuit*); extern int DIOload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/hfet1/hfetdel.c b/src/spicelib/devices/hfet1/hfetdel.c index 05b8cd3e3..afa1521ba 100644 --- a/src/spicelib/devices/hfet1/hfetdel.c +++ b/src/spicelib/devices/hfet1/hfetdel.c @@ -14,20 +14,8 @@ Author: 1985 S. Hwang int -HFETAdelete(GENmodel *model, IFuid name, GENinstance **kill) +HFETAdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/hfet1/hfetext.h b/src/spicelib/devices/hfet1/hfetext.h index 36d866f2d..93774d10d 100644 --- a/src/spicelib/devices/hfet1/hfetext.h +++ b/src/spicelib/devices/hfet1/hfetext.h @@ -5,7 +5,7 @@ Modified: Paolo Nenzi extern int HFETAacLoad(GENmodel*,CKTcircuit*); extern int HFETAask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int HFETAdelete(GENmodel*,IFuid,GENinstance**); +extern int HFETAdelete(GENinstance*); extern void HFETAdestroy(GENmodel**); extern int HFETAgetic(GENmodel*,CKTcircuit*); extern int HFETAload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/hfet2/hfet2del.c b/src/spicelib/devices/hfet2/hfet2del.c index 262f8c15e..d2ae9081e 100644 --- a/src/spicelib/devices/hfet2/hfet2del.c +++ b/src/spicelib/devices/hfet2/hfet2del.c @@ -14,20 +14,8 @@ Author: 1985 S. Hwang int -HFET2delete(GENmodel *model, IFuid name, GENinstance **kill) +HFET2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/hfet2/hfet2ext.h b/src/spicelib/devices/hfet2/hfet2ext.h index 243861744..95690e74b 100644 --- a/src/spicelib/devices/hfet2/hfet2ext.h +++ b/src/spicelib/devices/hfet2/hfet2ext.h @@ -5,7 +5,7 @@ Author: Trond Ytterdal extern int HFET2acLoad(GENmodel*,CKTcircuit*); extern int HFET2ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int HFET2delete(GENmodel*,IFuid,GENinstance**); +extern int HFET2delete(GENinstance*); extern void HFET2destroy(GENmodel**); extern int HFET2getic(GENmodel*,CKTcircuit*); extern int HFET2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/hisim2/hsm2del.c b/src/spicelib/devices/hisim2/hsm2del.c index 787ac4895..8f61a45c4 100644 --- a/src/spicelib/devices/hisim2/hsm2del.c +++ b/src/spicelib/devices/hisim2/hsm2del.c @@ -62,20 +62,8 @@ to others." int -HSM2delete(GENmodel *model, IFuid name, GENinstance **kill) +HSM2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/hisim2/hsm2ext.h b/src/spicelib/devices/hisim2/hsm2ext.h index ebae516e6..00802d6c7 100644 --- a/src/spicelib/devices/hisim2/hsm2ext.h +++ b/src/spicelib/devices/hisim2/hsm2ext.h @@ -18,7 +18,7 @@ extern int HSM2acLoad(GENmodel *,CKTcircuit*); extern int HSM2ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int HSM2convTest(GENmodel *,CKTcircuit*); -extern int HSM2delete(GENmodel*,IFuid,GENinstance**); +extern int HSM2delete(GENinstance*); extern void HSM2destroy(GENmodel**); extern int HSM2getic(GENmodel*,CKTcircuit*); extern int HSM2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/hisimhv1/hsmhvdel.c b/src/spicelib/devices/hisimhv1/hsmhvdel.c index 70040a511..dbe3cf1d2 100644 --- a/src/spicelib/devices/hisimhv1/hsmhvdel.c +++ b/src/spicelib/devices/hisimhv1/hsmhvdel.c @@ -23,20 +23,8 @@ int -HSMHVdelete(GENmodel *model, IFuid name, GENinstance **kill) +HSMHVdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/hisimhv1/hsmhvext.h b/src/spicelib/devices/hisimhv1/hsmhvext.h index 7ba0be7ba..bf40c6738 100644 --- a/src/spicelib/devices/hisimhv1/hsmhvext.h +++ b/src/spicelib/devices/hisimhv1/hsmhvext.h @@ -18,7 +18,7 @@ extern int HSMHVacLoad(GENmodel *,CKTcircuit*); extern int HSMHVask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int HSMHVconvTest(GENmodel *,CKTcircuit*); -extern int HSMHVdelete(GENmodel*,IFuid,GENinstance**); +extern int HSMHVdelete(GENinstance*); extern void HSMHVdestroy(GENmodel**); extern int HSMHVgetic(GENmodel*,CKTcircuit*); extern int HSMHVload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/hisimhv2/hsmhv2del.c b/src/spicelib/devices/hisimhv2/hsmhv2del.c index d21fa8840..8337c9079 100644 --- a/src/spicelib/devices/hisimhv2/hsmhv2del.c +++ b/src/spicelib/devices/hisimhv2/hsmhv2del.c @@ -65,20 +65,8 @@ June 2008 (revised October 2011) int -HSMHV2delete(GENmodel *model, IFuid name, GENinstance **kill) +HSMHV2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/hisimhv2/hsmhv2ext.h b/src/spicelib/devices/hisimhv2/hsmhv2ext.h index db1197414..b67f5cd2e 100644 --- a/src/spicelib/devices/hisimhv2/hsmhv2ext.h +++ b/src/spicelib/devices/hisimhv2/hsmhv2ext.h @@ -18,7 +18,7 @@ extern int HSMHV2acLoad(GENmodel *,CKTcircuit*); extern int HSMHV2ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int HSMHV2convTest(GENmodel *,CKTcircuit*); -extern int HSMHV2delete(GENmodel*,IFuid,GENinstance**); +extern int HSMHV2delete(GENinstance*); extern void HSMHV2destroy(GENmodel**); extern int HSMHV2getic(GENmodel*,CKTcircuit*); extern int HSMHV2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/ind/inddel.c b/src/spicelib/devices/ind/inddel.c index e22ec883a..cc10c632f 100644 --- a/src/spicelib/devices/ind/inddel.c +++ b/src/spicelib/devices/ind/inddel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -INDdelete(GENmodel *model, IFuid name, GENinstance **kill) +INDdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/ind/indext.h b/src/spicelib/devices/ind/indext.h index 8d2fa035c..f9c912d6c 100644 --- a/src/spicelib/devices/ind/indext.h +++ b/src/spicelib/devices/ind/indext.h @@ -8,7 +8,7 @@ Author: 1985 Thomas L. Quarles extern int INDacLoad(GENmodel*,CKTcircuit*); extern int INDask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int INDmAsk(CKTcircuit*, GENmodel*, int, IFvalue*); -extern int INDdelete(GENmodel*,IFuid,GENinstance**); +extern int INDdelete(GENinstance*); extern void INDdestroy(GENmodel**); extern int INDload(GENmodel*,CKTcircuit*); extern int INDmDelete(GENmodel**,IFuid,GENmodel*); @@ -27,7 +27,7 @@ extern int INDtrunc(GENmodel*,CKTcircuit*,double*); extern int MUTacLoad(GENmodel*,CKTcircuit*); extern int MUTask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int MUTdelete(GENmodel*,IFuid,GENinstance**); +extern int MUTdelete(GENinstance*); extern void MUTdestroy(GENmodel**); extern int MUTmDelete(GENmodel**,IFuid,GENmodel*); extern int MUTparam(int,IFvalue*,GENinstance*,IFvalue*); diff --git a/src/spicelib/devices/ind/mutdel.c b/src/spicelib/devices/ind/mutdel.c index a6cea58a4..12fa81c78 100644 --- a/src/spicelib/devices/ind/mutdel.c +++ b/src/spicelib/devices/ind/mutdel.c @@ -11,21 +11,9 @@ Author: 1985 Thomas L. Quarles #ifdef MUTUAL int -MUTdelete(GENmodel *model, IFuid name, GENinstance **kill) +MUTdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } #endif /*MUTUAL*/ diff --git a/src/spicelib/devices/isrc/isrcdel.c b/src/spicelib/devices/isrc/isrcdel.c index 6b4f24387..5cd445e5e 100644 --- a/src/spicelib/devices/isrc/isrcdel.c +++ b/src/spicelib/devices/isrc/isrcdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -ISRCdelete(GENmodel *model, IFuid name, GENinstance **kill) +ISRCdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/isrc/isrcext.h b/src/spicelib/devices/isrc/isrcext.h index fee30625b..57ad03f7a 100644 --- a/src/spicelib/devices/isrc/isrcext.h +++ b/src/spicelib/devices/isrc/isrcext.h @@ -6,7 +6,7 @@ Author: 1985 Thomas L. Quarles extern int ISRCaccept(CKTcircuit*,GENmodel*); extern int ISRCacLoad(GENmodel*,CKTcircuit*); extern int ISRCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int ISRCdelete(GENmodel*,IFuid,GENinstance**); +extern int ISRCdelete(GENinstance*); extern void ISRCdestroy(GENmodel**); extern int ISRCload(GENmodel*,CKTcircuit*); extern int ISRCmDelete(GENmodel**,IFuid,GENmodel*); diff --git a/src/spicelib/devices/jfet/jfetdel.c b/src/spicelib/devices/jfet/jfetdel.c index 1d3c17c4a..5e9ea9c85 100644 --- a/src/spicelib/devices/jfet/jfetdel.c +++ b/src/spicelib/devices/jfet/jfetdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -JFETdelete(GENmodel *model, IFuid name, GENinstance **kill) +JFETdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/jfet/jfetext.h b/src/spicelib/devices/jfet/jfetext.h index 475bdbe1a..ea191dcc5 100644 --- a/src/spicelib/devices/jfet/jfetext.h +++ b/src/spicelib/devices/jfet/jfetext.h @@ -6,7 +6,7 @@ Modified: 2000 AlansFixes extern int JFETacLoad(GENmodel*,CKTcircuit*); extern int JFETask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int JFETdelete(GENmodel*,IFuid,GENinstance**); +extern int JFETdelete(GENinstance*); extern void JFETdestroy(GENmodel**); extern int JFETgetic(GENmodel*,CKTcircuit*); extern int JFETload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/jfet2/jfet2del.c b/src/spicelib/devices/jfet2/jfet2del.c index a8a64625c..a460bdde9 100644 --- a/src/spicelib/devices/jfet2/jfet2del.c +++ b/src/spicelib/devices/jfet2/jfet2del.c @@ -14,20 +14,8 @@ Modified to jfet2 for PS model definition ( Anthony E. Parker ) int -JFET2delete(GENmodel *model, IFuid name, GENinstance **kill) +JFET2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/jfet2/jfet2ext.h b/src/spicelib/devices/jfet2/jfet2ext.h index fc330fe59..c4565abe5 100644 --- a/src/spicelib/devices/jfet2/jfet2ext.h +++ b/src/spicelib/devices/jfet2/jfet2ext.h @@ -9,7 +9,7 @@ Modified to add PS model and new parameter definitions ( Anthony E. Parker ) extern int JFET2acLoad(GENmodel*,CKTcircuit*); extern int JFET2ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int JFET2delete(GENmodel*,IFuid,GENinstance**); +extern int JFET2delete(GENinstance*); extern void JFET2destroy(GENmodel**); extern int JFET2getic(GENmodel*,CKTcircuit*); extern int JFET2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/ltra/ltradel.c b/src/spicelib/devices/ltra/ltradel.c index cac5b4b49..6a775b7e7 100644 --- a/src/spicelib/devices/ltra/ltradel.c +++ b/src/spicelib/devices/ltra/ltradel.c @@ -10,20 +10,8 @@ Author: 1990 Jaijeet S. Roychowdhury int -LTRAdelete(GENmodel *model, IFuid name, GENinstance **kill) +LTRAdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/ltra/ltraext.h b/src/spicelib/devices/ltra/ltraext.h index 09cc06a8c..3524fa04e 100644 --- a/src/spicelib/devices/ltra/ltraext.h +++ b/src/spicelib/devices/ltra/ltraext.h @@ -8,7 +8,7 @@ Modified: 2000 AlansFixes extern int LTRAaccept(CKTcircuit*,GENmodel*); extern int LTRAask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int LTRAacLoad(GENmodel*,CKTcircuit*); -extern int LTRAdelete(GENmodel*,IFuid,GENinstance**); +extern int LTRAdelete(GENinstance*); extern void LTRAdestroy(GENmodel**); extern int LTRAload(GENmodel*,CKTcircuit*); extern int LTRAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); diff --git a/src/spicelib/devices/mes/mesdel.c b/src/spicelib/devices/mes/mesdel.c index 32e88cff9..0eefcd68f 100644 --- a/src/spicelib/devices/mes/mesdel.c +++ b/src/spicelib/devices/mes/mesdel.c @@ -10,20 +10,8 @@ Author: 1985 S. Hwang int -MESdelete(GENmodel *model, IFuid name, GENinstance **kill) +MESdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mes/mesext.h b/src/spicelib/devices/mes/mesext.h index 7ff419573..61707e059 100644 --- a/src/spicelib/devices/mes/mesext.h +++ b/src/spicelib/devices/mes/mesext.h @@ -6,7 +6,7 @@ Modified: 2000 AlansFixes extern int MESacLoad(GENmodel*,CKTcircuit*); extern int MESask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int MESdelete(GENmodel*,IFuid,GENinstance**); +extern int MESdelete(GENinstance*); extern void MESdestroy(GENmodel**); extern int MESgetic(GENmodel*,CKTcircuit*); extern int MESload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mesa/mesadel.c b/src/spicelib/devices/mesa/mesadel.c index 7ef19658f..a72433404 100644 --- a/src/spicelib/devices/mesa/mesadel.c +++ b/src/spicelib/devices/mesa/mesadel.c @@ -14,20 +14,8 @@ Author: 1985 S. Hwang int -MESAdelete(GENmodel *model, IFuid name, GENinstance **kill) +MESAdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mesa/mesaext.h b/src/spicelib/devices/mesa/mesaext.h index a1967cf44..4910567e5 100644 --- a/src/spicelib/devices/mesa/mesaext.h +++ b/src/spicelib/devices/mesa/mesaext.h @@ -5,7 +5,7 @@ Author: Trond Ytterdal extern int MESAacLoad(GENmodel*,CKTcircuit*); extern int MESAask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int MESAdelete(GENmodel*,IFuid,GENinstance**); +extern int MESAdelete(GENinstance*); extern void MESAdestroy(GENmodel**); extern int MESAgetic(GENmodel*,CKTcircuit*); extern int MESAload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mos1/mos1del.c b/src/spicelib/devices/mos1/mos1del.c index b25e05fc7..aa312981a 100644 --- a/src/spicelib/devices/mos1/mos1del.c +++ b/src/spicelib/devices/mos1/mos1del.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -MOS1delete(GENmodel *model, IFuid name, GENinstance **kill) +MOS1delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mos1/mos1ext.h b/src/spicelib/devices/mos1/mos1ext.h index b1ed69d52..444e94a0d 100644 --- a/src/spicelib/devices/mos1/mos1ext.h +++ b/src/spicelib/devices/mos1/mos1ext.h @@ -6,7 +6,7 @@ Modified: 2000 AlansFixes extern int MOS1acLoad(GENmodel *,CKTcircuit*); extern int MOS1ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int MOS1delete(GENmodel*,IFuid,GENinstance**); +extern int MOS1delete(GENinstance*); extern void MOS1destroy(GENmodel**); extern int MOS1getic(GENmodel*,CKTcircuit*); extern int MOS1load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mos2/mos2del.c b/src/spicelib/devices/mos2/mos2del.c index 6bc460948..ff58c1462 100644 --- a/src/spicelib/devices/mos2/mos2del.c +++ b/src/spicelib/devices/mos2/mos2del.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -MOS2delete(GENmodel *model, IFuid name, GENinstance **kill) +MOS2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mos2/mos2ext.h b/src/spicelib/devices/mos2/mos2ext.h index 46a8a3e38..e0d356e5c 100644 --- a/src/spicelib/devices/mos2/mos2ext.h +++ b/src/spicelib/devices/mos2/mos2ext.h @@ -8,7 +8,7 @@ extern int MOS2acLoad(GENmodel*,CKTcircuit*); extern int MOS2ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int MOS2mAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int MOS2convTest(GENmodel*,CKTcircuit*); -extern int MOS2delete(GENmodel*,IFuid,GENinstance**); +extern int MOS2delete(GENinstance*); extern void MOS2destroy(GENmodel**); extern int MOS2getic(GENmodel*,CKTcircuit*); extern int MOS2load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mos3/mos3del.c b/src/spicelib/devices/mos3/mos3del.c index e7e93de32..8b79fa15a 100644 --- a/src/spicelib/devices/mos3/mos3del.c +++ b/src/spicelib/devices/mos3/mos3del.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -MOS3delete(GENmodel *model, IFuid name, GENinstance **kill) +MOS3delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mos3/mos3ext.h b/src/spicelib/devices/mos3/mos3ext.h index 843d68329..ca8f4f750 100644 --- a/src/spicelib/devices/mos3/mos3ext.h +++ b/src/spicelib/devices/mos3/mos3ext.h @@ -7,7 +7,7 @@ Modified: 2000 AlansFixes extern int MOS3acLoad(GENmodel*,CKTcircuit*); extern int MOS3ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int MOS3convTest(GENmodel *,CKTcircuit *); -extern int MOS3delete(GENmodel*,IFuid,GENinstance**); +extern int MOS3delete(GENinstance*); extern void MOS3destroy(GENmodel**); extern int MOS3getic(GENmodel*,CKTcircuit*); extern int MOS3load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mos6/mos6del.c b/src/spicelib/devices/mos6/mos6del.c index 7185a22e0..5d92410f9 100644 --- a/src/spicelib/devices/mos6/mos6del.c +++ b/src/spicelib/devices/mos6/mos6del.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -MOS6delete(GENmodel *model, IFuid name, GENinstance **kill) +MOS6delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mos6/mos6ext.h b/src/spicelib/devices/mos6/mos6ext.h index e5d203145..fd728ff56 100644 --- a/src/spicelib/devices/mos6/mos6ext.h +++ b/src/spicelib/devices/mos6/mos6ext.h @@ -5,7 +5,7 @@ Author: 1985 Thomas L. Quarles extern int MOS6acLoad(GENmodel *,CKTcircuit*); extern int MOS6ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int MOS6delete(GENmodel*,IFuid,GENinstance**); +extern int MOS6delete(GENinstance*); extern void MOS6destroy(GENmodel**); extern int MOS6getic(GENmodel*,CKTcircuit*); extern int MOS6load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/mos9/mos9del.c b/src/spicelib/devices/mos9/mos9del.c index 19dcd2437..a369f5864 100644 --- a/src/spicelib/devices/mos9/mos9del.c +++ b/src/spicelib/devices/mos9/mos9del.c @@ -11,20 +11,8 @@ Modified: Alan Gillespie int -MOS9delete(GENmodel *model, IFuid name, GENinstance **kill) +MOS9delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/mos9/mos9ext.h b/src/spicelib/devices/mos9/mos9ext.h index c2af0a136..f3bc5fb3e 100644 --- a/src/spicelib/devices/mos9/mos9ext.h +++ b/src/spicelib/devices/mos9/mos9ext.h @@ -7,7 +7,7 @@ Modified: Alan Gillespie extern int MOS9acLoad(GENmodel*,CKTcircuit*); extern int MOS9ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int MOS9convTest(GENmodel *,CKTcircuit *); -extern int MOS9delete(GENmodel*,IFuid,GENinstance**); +extern int MOS9delete(GENinstance*); extern void MOS9destroy(GENmodel**); extern int MOS9getic(GENmodel*,CKTcircuit*); extern int MOS9load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/nbjt/nbjtdel.c b/src/spicelib/devices/nbjt/nbjtdel.c index f5dc70ce4..78209b57a 100644 --- a/src/spicelib/devices/nbjt/nbjtdel.c +++ b/src/spicelib/devices/nbjt/nbjtdel.c @@ -15,20 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group int -NBJTdelete(GENmodel *model, IFuid name, GENinstance **kill) +NBJTdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/nbjt/nbjtext.h b/src/spicelib/devices/nbjt/nbjtext.h index b9d0a980c..ff2a85016 100644 --- a/src/spicelib/devices/nbjt/nbjtext.h +++ b/src/spicelib/devices/nbjt/nbjtext.h @@ -8,7 +8,7 @@ Author: 1987 Karti Mayaram extern int NBJTacLoad(GENmodel *, CKTcircuit *); extern int NBJTask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NBJTdelete(GENmodel *, IFuid, GENinstance **); +extern int NBJTdelete(GENinstance *); extern void NBJTdestroy(GENmodel **); extern int NBJTgetic(GENmodel *, CKTcircuit *); extern int NBJTload(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/nbjt2/nbjt2ext.h b/src/spicelib/devices/nbjt2/nbjt2ext.h index 7448e637d..73ba11181 100644 --- a/src/spicelib/devices/nbjt2/nbjt2ext.h +++ b/src/spicelib/devices/nbjt2/nbjt2ext.h @@ -9,7 +9,7 @@ Author: 1987 Karti Mayaram extern int NBJT2acLoad(GENmodel *, CKTcircuit *); extern int NBJT2ask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NBJT2delete(GENmodel *, IFuid, GENinstance **); +extern int NBJT2delete(GENinstance *); extern void NBJT2destroy(GENmodel **); extern int NBJT2getic(GENmodel *, CKTcircuit *); extern int NBJT2load(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/nbjt2/nbt2del.c b/src/spicelib/devices/nbjt2/nbt2del.c index c59a65f51..805125cb9 100644 --- a/src/spicelib/devices/nbjt2/nbt2del.c +++ b/src/spicelib/devices/nbjt2/nbt2del.c @@ -15,20 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group int -NBJT2delete(GENmodel *model, IFuid name, GENinstance **kill) +NBJT2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/ndev/ndevdel.c b/src/spicelib/devices/ndev/ndevdel.c index 980fbe387..d84c3cef6 100644 --- a/src/spicelib/devices/ndev/ndevdel.c +++ b/src/spicelib/devices/ndev/ndevdel.c @@ -11,20 +11,8 @@ University of Science and Technology of China int -NDEVdelete(GENmodel *model, IFuid name, GENinstance **kill) +NDEVdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/ndev/ndevext.h b/src/spicelib/devices/ndev/ndevext.h index c751b5bdc..a42573a39 100644 --- a/src/spicelib/devices/ndev/ndevext.h +++ b/src/spicelib/devices/ndev/ndevext.h @@ -9,7 +9,7 @@ Author: 1987 Karti Mayaram extern int NDEVacLoad(GENmodel *, CKTcircuit *); extern int NDEVask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NDEVdelete(GENmodel *, IFuid, GENinstance **); +extern int NDEVdelete(GENinstance *); extern void NDEVdestroy(GENmodel **); extern int NDEVgetic(GENmodel *, CKTcircuit *); extern int NDEVload(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/numd/numddel.c b/src/spicelib/devices/numd/numddel.c index 30ffc85c7..1e5fb78d8 100644 --- a/src/spicelib/devices/numd/numddel.c +++ b/src/spicelib/devices/numd/numddel.c @@ -10,20 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group int -NUMDdelete(GENmodel *model, IFuid name, GENinstance **kill) +NUMDdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/numd/numdext.h b/src/spicelib/devices/numd/numdext.h index bf98dcd48..ab4a6d194 100644 --- a/src/spicelib/devices/numd/numdext.h +++ b/src/spicelib/devices/numd/numdext.h @@ -9,7 +9,7 @@ Author: 1987 Karti Mayaram extern int NUMDacLoad(GENmodel *, CKTcircuit *); extern int NUMDask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NUMDdelete(GENmodel *, IFuid, GENinstance **); +extern int NUMDdelete(GENinstance *); extern void NUMDdestroy(GENmodel **); extern int NUMDgetic(GENmodel *, CKTcircuit *); extern int NUMDload(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/numd2/nud2del.c b/src/spicelib/devices/numd2/nud2del.c index 4105e494c..70efc1e25 100644 --- a/src/spicelib/devices/numd2/nud2del.c +++ b/src/spicelib/devices/numd2/nud2del.c @@ -10,20 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group int -NUMD2delete(GENmodel *model, IFuid name, GENinstance **kill) +NUMD2delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/numd2/numd2ext.h b/src/spicelib/devices/numd2/numd2ext.h index a23cd1169..0ee71429d 100644 --- a/src/spicelib/devices/numd2/numd2ext.h +++ b/src/spicelib/devices/numd2/numd2ext.h @@ -9,7 +9,7 @@ Author: 1987 Karti Mayaram extern int NUMD2acLoad(GENmodel *, CKTcircuit *); extern int NUMD2ask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NUMD2delete(GENmodel *, IFuid, GENinstance **); +extern int NUMD2delete(GENinstance *); extern void NUMD2destroy(GENmodel **); extern int NUMD2getic(GENmodel *, CKTcircuit *); extern int NUMD2load(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/numos/nummdel.c b/src/spicelib/devices/numos/nummdel.c index c8f32fd9d..e9cc7895a 100644 --- a/src/spicelib/devices/numos/nummdel.c +++ b/src/spicelib/devices/numos/nummdel.c @@ -15,20 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group int -NUMOSdelete(GENmodel *model, IFuid name, GENinstance **kill) +NUMOSdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/numos/numosext.h b/src/spicelib/devices/numos/numosext.h index 411c5b03b..f5a7d50eb 100644 --- a/src/spicelib/devices/numos/numosext.h +++ b/src/spicelib/devices/numos/numosext.h @@ -9,7 +9,7 @@ Author: 1987 Karti Mayaram extern int NUMOSacLoad(GENmodel *, CKTcircuit *); extern int NUMOSask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *); -extern int NUMOSdelete(GENmodel *, IFuid, GENinstance **); +extern int NUMOSdelete(GENinstance *); extern void NUMOSdestroy(GENmodel **); extern int NUMOSgetic(GENmodel *, CKTcircuit *); extern int NUMOSload(GENmodel *, CKTcircuit *); diff --git a/src/spicelib/devices/res/resdel.c b/src/spicelib/devices/res/resdel.c index e13696501..32ba86e7f 100644 --- a/src/spicelib/devices/res/resdel.c +++ b/src/spicelib/devices/res/resdel.c @@ -10,20 +10,8 @@ Modified: Apr 2000 - Paolo Nenzi int -RESdelete(GENmodel *model, IFuid name, GENinstance **kill) +RESdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/res/resext.h b/src/spicelib/devices/res/resext.h index 148d1d222..8d9b3156a 100644 --- a/src/spicelib/devices/res/resext.h +++ b/src/spicelib/devices/res/resext.h @@ -4,7 +4,7 @@ Author: 1985 Thomas L. Quarles **********/ extern int RESask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int RESdelete(GENmodel*,IFuid,GENinstance**); +extern int RESdelete(GENinstance*); extern void RESdestroy(GENmodel**); extern int RESload(GENmodel*,CKTcircuit*); extern int RESacload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/soi3/soi3del.c b/src/spicelib/devices/soi3/soi3del.c index f85deb279..54b4b439a 100644 --- a/src/spicelib/devices/soi3/soi3del.c +++ b/src/spicelib/devices/soi3/soi3del.c @@ -27,20 +27,8 @@ Acknowledgements : Rupert Howes and Pete Mole. int -SOI3delete(GENmodel *model, IFuid name, GENinstance **kill) +SOI3delete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/soi3/soi3ext.h b/src/spicelib/devices/soi3/soi3ext.h index c7e194acd..6e2b74ee3 100644 --- a/src/spicelib/devices/soi3/soi3ext.h +++ b/src/spicelib/devices/soi3/soi3ext.h @@ -23,7 +23,7 @@ ngspice integration extern int SOI3acLoad(GENmodel *,CKTcircuit*); extern int SOI3ask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int SOI3delete(GENmodel*,IFuid,GENinstance**); +extern int SOI3delete(GENinstance*); extern void SOI3destroy(GENmodel**); extern int SOI3getic(GENmodel*,CKTcircuit*); extern int SOI3load(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/sw/swdelete.c b/src/spicelib/devices/sw/swdelete.c index ba7026279..f2ff62c66 100644 --- a/src/spicelib/devices/sw/swdelete.c +++ b/src/spicelib/devices/sw/swdelete.c @@ -10,20 +10,8 @@ Author: 1985 Gordon Jacobs int -SWdelete(GENmodel *model, IFuid name, GENinstance **kill) +SWdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/sw/swext.h b/src/spicelib/devices/sw/swext.h index ee447e7a9..17a2600cb 100644 --- a/src/spicelib/devices/sw/swext.h +++ b/src/spicelib/devices/sw/swext.h @@ -6,7 +6,7 @@ Modified: 2000 AlansFixes extern int SWacLoad(GENmodel*,CKTcircuit*); extern int SWask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int SWdelete(GENmodel*,IFuid,GENinstance**); +extern int SWdelete(GENinstance*); extern void SWdestroy(GENmodel**); extern int SWload(GENmodel*,CKTcircuit*); extern int SWmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); diff --git a/src/spicelib/devices/tra/tradel.c b/src/spicelib/devices/tra/tradel.c index 79efd7b5f..833f6093d 100644 --- a/src/spicelib/devices/tra/tradel.c +++ b/src/spicelib/devices/tra/tradel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -TRAdelete(GENmodel *model, IFuid name, GENinstance **kill) +TRAdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/tra/traext.h b/src/spicelib/devices/tra/traext.h index 95a1d2b25..9cabd24ad 100644 --- a/src/spicelib/devices/tra/traext.h +++ b/src/spicelib/devices/tra/traext.h @@ -6,7 +6,7 @@ Author: 1985 Thomas L. Quarles extern int TRAacLoad(GENmodel*,CKTcircuit*); extern int TRAaccept(CKTcircuit*,GENmodel*); extern int TRAask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int TRAdelete(GENmodel*,IFuid,GENinstance**); +extern int TRAdelete(GENinstance*); extern void TRAdestroy(GENmodel**); extern int TRAload(GENmodel*,CKTcircuit*); extern int TRAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); diff --git a/src/spicelib/devices/txl/txldel.c b/src/spicelib/devices/txl/txldel.c index 799f7d46e..8e1d7a1c0 100644 --- a/src/spicelib/devices/txl/txldel.c +++ b/src/spicelib/devices/txl/txldel.c @@ -11,20 +11,8 @@ Author: 1992 Charles Hough int -TXLdelete(GENmodel *model, IFuid name, GENinstance **kill) +TXLdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/txl/txlext.h b/src/spicelib/devices/txl/txlext.h index 1211b71d0..5226d6200 100644 --- a/src/spicelib/devices/txl/txlext.h +++ b/src/spicelib/devices/txl/txlext.h @@ -1,7 +1,7 @@ extern int TXLaccept(CKTcircuit*,GENmodel*); extern int TXLask(CKTcircuit*, GENinstance*, int, IFvalue*, IFvalue*); -extern int TXLdelete(GENmodel*,IFuid,GENinstance**); +extern int TXLdelete(GENinstance*); extern void TXLdestroy(GENmodel**); extern int TXLfindBr(CKTcircuit*, GENmodel*, IFuid); extern int TXLload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/urc/urcdel.c b/src/spicelib/devices/urc/urcdel.c index 886b0dda7..03a950037 100644 --- a/src/spicelib/devices/urc/urcdel.c +++ b/src/spicelib/devices/urc/urcdel.c @@ -10,20 +10,8 @@ Author: 1987 Thomas L. Quarles int -URCdelete(GENmodel *model, IFuid name, GENinstance **kill) +URCdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/urc/urcext.h b/src/spicelib/devices/urc/urcext.h index 4cfe4172c..4fded7c13 100644 --- a/src/spicelib/devices/urc/urcext.h +++ b/src/spicelib/devices/urc/urcext.h @@ -6,7 +6,7 @@ Author: 1985 Thomas L. Quarles #define _URCEXT_H extern int URCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int URCdelete(GENmodel*,IFuid,GENinstance**); +extern int URCdelete(GENinstance*); extern void URCdestroy(GENmodel**); extern int URCmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int URCmDelete(GENmodel**,IFuid,GENmodel*); diff --git a/src/spicelib/devices/vbic/vbicdel.c b/src/spicelib/devices/vbic/vbicdel.c index 8b48706a5..7f92962ef 100644 --- a/src/spicelib/devices/vbic/vbicdel.c +++ b/src/spicelib/devices/vbic/vbicdel.c @@ -17,20 +17,8 @@ Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH int -VBICdelete(GENmodel *model, IFuid name, GENinstance **kill) +VBICdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/vbic/vbicext.h b/src/spicelib/devices/vbic/vbicext.h index c0e0ff943..5df6699a0 100644 --- a/src/spicelib/devices/vbic/vbicext.h +++ b/src/spicelib/devices/vbic/vbicext.h @@ -11,7 +11,7 @@ Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH extern int VBICacLoad(GENmodel *,CKTcircuit*); extern int VBICask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*); extern int VBICconvTest(GENmodel*,CKTcircuit*); -extern int VBICdelete(GENmodel*,IFuid,GENinstance**); +extern int VBICdelete(GENinstance*); extern void VBICdestroy(GENmodel**); extern int VBICgetic(GENmodel*,CKTcircuit*); extern int VBICload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/vccs/vccsdel.c b/src/spicelib/devices/vccs/vccsdel.c index 8180fbeee..1aa2c36e0 100644 --- a/src/spicelib/devices/vccs/vccsdel.c +++ b/src/spicelib/devices/vccs/vccsdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -VCCSdelete(GENmodel *model, IFuid name, GENinstance **kill) +VCCSdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/vccs/vccsext.h b/src/spicelib/devices/vccs/vccsext.h index 464020523..166995aba 100644 --- a/src/spicelib/devices/vccs/vccsext.h +++ b/src/spicelib/devices/vccs/vccsext.h @@ -4,7 +4,7 @@ Author: 1985 Thomas L. Quarles **********/ extern int VCCSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int VCCSdelete(GENmodel*,IFuid,GENinstance**); +extern int VCCSdelete(GENinstance*); extern void VCCSdestroy(GENmodel**); extern int VCCSload(GENmodel*,CKTcircuit*); extern int VCCSmDelete(GENmodel**,IFuid,GENmodel*); diff --git a/src/spicelib/devices/vcvs/vcvsdel.c b/src/spicelib/devices/vcvs/vcvsdel.c index 6e47dc249..f25f33b64 100644 --- a/src/spicelib/devices/vcvs/vcvsdel.c +++ b/src/spicelib/devices/vcvs/vcvsdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -VCVSdelete(GENmodel *model, IFuid name, GENinstance **kill) +VCVSdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/vcvs/vcvsext.h b/src/spicelib/devices/vcvs/vcvsext.h index 3d3858273..e9979fda6 100644 --- a/src/spicelib/devices/vcvs/vcvsext.h +++ b/src/spicelib/devices/vcvs/vcvsext.h @@ -4,7 +4,7 @@ Author: 1985 Thomas L. Quarles **********/ extern int VCVSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int VCVSdelete(GENmodel*,IFuid,GENinstance**); +extern int VCVSdelete(GENinstance*); extern void VCVSdestroy(GENmodel**); extern int VCVSfindBr(CKTcircuit*,GENmodel*,IFuid); extern int VCVSload(GENmodel*,CKTcircuit*); diff --git a/src/spicelib/devices/vsrc/vsrcdel.c b/src/spicelib/devices/vsrc/vsrcdel.c index cc91d71f6..3729dfe86 100644 --- a/src/spicelib/devices/vsrc/vsrcdel.c +++ b/src/spicelib/devices/vsrc/vsrcdel.c @@ -10,20 +10,8 @@ Author: 1985 Thomas L. Quarles int -VSRCdelete(GENmodel *model, IFuid name, GENinstance **kill) +VSRCdelete(GENinstance *inst) { - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - GENinstanceFree(here); - return OK; - } - prev = &(here->GENnextInstance); - } - } - - return E_NODEV; + GENinstanceFree(inst); + return OK; } diff --git a/src/spicelib/devices/vsrc/vsrcext.h b/src/spicelib/devices/vsrc/vsrcext.h index 980efbf8e..bce978c6a 100644 --- a/src/spicelib/devices/vsrc/vsrcext.h +++ b/src/spicelib/devices/vsrc/vsrcext.h @@ -6,7 +6,7 @@ Author: 1985 Thomas L. Quarles extern int VSRCaccept(CKTcircuit*,GENmodel*); extern int VSRCacLoad(GENmodel*,CKTcircuit*); extern int VSRCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); -extern int VSRCdelete(GENmodel*,IFuid,GENinstance**); +extern int VSRCdelete(GENinstance*); extern void VSRCdestroy(GENmodel**); extern int VSRCfindBr(CKTcircuit*,GENmodel*,IFuid); extern int VSRCload(GENmodel*,CKTcircuit*); diff --git a/src/xspice/icm/dlmain.c b/src/xspice/icm/dlmain.c index 75b1ab341..9170f0c1f 100644 --- a/src/xspice/icm/dlmain.c +++ b/src/xspice/icm/dlmain.c @@ -197,11 +197,9 @@ int MIFconvTest( } int MIFdelete( - GENmodel *inModel, - IFuid name, - GENinstance **inst + GENinstance *inst ) { - return (coreitf->dllitf_MIFdelete)(inModel,name,inst); + return (coreitf->dllitf_MIFdelete)(inst); } int MIFmDelete( diff --git a/src/xspice/mif/mifdelete.c b/src/xspice/mif/mifdelete.c index 270ebe2a4..187d74c47 100644 --- a/src/xspice/mif/mifdelete.c +++ b/src/xspice/mif/mifdelete.c @@ -53,25 +53,6 @@ NON-STANDARD FEATURES #include "ngspice/devdefs.h" -static MIFinstance * -MIFdelete_instance(GENmodel *model, IFuid name, GENinstance **kill) -{ - for (; model; model = model->GENnextModel) { - GENinstance **prev = &(model->GENinstances); - GENinstance *here = *prev; - for (; here; here = *prev) { - if (here->GENname == name || (kill && here == *kill)) { - *prev = here->GENnextInstance; - return (MIFinstance *) here; - } - prev = &(here->GENnextInstance); - } - } - - return NULL; -} - - /* MIFdelete @@ -82,9 +63,7 @@ used by the instance structure. int MIFdelete( - GENmodel *model, /* The head of the model list */ - IFuid name, /* The name of the instance to delete */ - GENinstance **kill /* The instance structure to delete */ + GENinstance *inst /* The instance structure to delete */ ) { int i; @@ -95,14 +74,7 @@ MIFdelete( int num_port; int num_inst_var; - /*******************************************/ - /* Cut the instance out of the linked list */ - /*******************************************/ - - MIFinstance *here = MIFdelete_instance(model, name, kill); - - if (!here) - return(E_NODEV); + MIFinstance *here = (MIFinstance *) inst; /*******************************************/ /* instance->callback(..., MIF_CB_DESTROY) */ diff --git a/src/xspice/mif/mifmdelete.c b/src/xspice/mif/mifmdelete.c index b97bffb89..f227a9066 100644 --- a/src/xspice/mif/mifmdelete.c +++ b/src/xspice/mif/mifmdelete.c @@ -84,8 +84,11 @@ int MIFmDelete( /* Free the instances under this model if any */ /* by removing from the head of the linked list */ /* until the head is null */ - while (model->GENinstances) - MIFdelete(model, model->GENinstances->GENname, &(model->GENinstances)); + while (model->GENinstances) { + GENinstance *next_inst = model->GENinstances->GENnextInstance; + MIFdelete(model->GENinstances); + model->GENinstances = next_inst; + } MIFmodel *here = (MIFmodel*) model; int i;