Browse Source

DEVdestroy(), move code over to DEVmodDelete() and DEVdelete()

This patch itself is not valid until all invokers of DEVdestroy()
  (currently this is CKTdestroy() exclusively)
  are rewritten to invoke DEVmodDelete() and DEVdelete()
pre-master-46
rlar 8 years ago
parent
commit
b29ad51a6c
  1. 4
      src/spicelib/devices/asrc/asrcdel.c
  2. 5
      src/spicelib/devices/asrc/asrcdest.c
  3. 3
      src/spicelib/devices/bjt/bjtdel.c
  4. 1
      src/spicelib/devices/bjt/bjtdest.c
  5. 15
      src/spicelib/devices/bsim3/b3dest.c
  6. 17
      src/spicelib/devices/bsim3/b3mdel.c
  7. 13
      src/spicelib/devices/bsim3v32/b3v32dest.c
  8. 16
      src/spicelib/devices/bsim3v32/b3v32mdel.c
  9. 13
      src/spicelib/devices/bsim4/b4dest.c
  10. 16
      src/spicelib/devices/bsim4/b4mdel.c
  11. 13
      src/spicelib/devices/bsim4v5/b4v5dest.c
  12. 16
      src/spicelib/devices/bsim4v5/b4v5mdel.c
  13. 13
      src/spicelib/devices/bsim4v6/b4v6dest.c
  14. 16
      src/spicelib/devices/bsim4v6/b4v6mdel.c
  15. 14
      src/spicelib/devices/bsim4v7/b4v7dest.c
  16. 17
      src/spicelib/devices/bsim4v7/b4v7mdel.c
  17. 4
      src/spicelib/devices/bsimsoi/b4soidest.c
  18. 6
      src/spicelib/devices/bsimsoi/b4soimdel.c
  19. 4
      src/spicelib/devices/hisim2/hsm2dest.c
  20. 6
      src/spicelib/devices/hisim2/hsm2mdel.c
  21. 5
      src/spicelib/devices/isrc/isrcdel.c
  22. 1
      src/spicelib/devices/isrc/isrcdest.c
  23. 3
      src/spicelib/devices/mos1/mos1del.c
  24. 1
      src/spicelib/devices/mos1/mos1dest.c
  25. 3
      src/spicelib/devices/mos2/mos2del.c
  26. 1
      src/spicelib/devices/mos2/mos2dest.c
  27. 3
      src/spicelib/devices/mos3/mos3del.c
  28. 1
      src/spicelib/devices/mos3/mos3dest.c
  29. 3
      src/spicelib/devices/mos6/mos6del.c
  30. 1
      src/spicelib/devices/mos6/mos6dest.c
  31. 3
      src/spicelib/devices/mos9/mos9del.c
  32. 1
      src/spicelib/devices/mos9/mos9dest.c
  33. 6
      src/spicelib/devices/nbjt/nbjtdel.c
  34. 3
      src/spicelib/devices/nbjt/nbjtdest.c
  35. 7
      src/spicelib/devices/nbjt2/nbt2del.c
  36. 3
      src/spicelib/devices/nbjt2/nbt2dest.c
  37. 2
      src/spicelib/devices/ndev/ndevdest.c
  38. 6
      src/spicelib/devices/ndev/ndevmdel.c
  39. 6
      src/spicelib/devices/numd/numddel.c
  40. 3
      src/spicelib/devices/numd/numddest.c
  41. 7
      src/spicelib/devices/numd2/nud2del.c
  42. 4
      src/spicelib/devices/numd2/nud2dest.c
  43. 7
      src/spicelib/devices/numos/nummdel.c
  44. 3
      src/spicelib/devices/numos/nummdest.c
  45. 5
      src/spicelib/devices/soi3/soi3del.c
  46. 1
      src/spicelib/devices/soi3/soi3dest.c
  47. 3
      src/spicelib/devices/vbic/vbicdel.c
  48. 1
      src/spicelib/devices/vbic/vbicdest.c
  49. 5
      src/spicelib/devices/vsrc/vsrcdel.c
  50. 1
      src/spicelib/devices/vsrc/vsrcdest.c

4
src/spicelib/devices/asrc/asrcdel.c

@ -6,6 +6,7 @@ Author: 1987 Kanwar Jit Singh
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "asrcdefs.h" #include "asrcdefs.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/inpdefs.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -14,6 +15,9 @@ ASRCdelete(GENinstance *gen_inst)
{ {
ASRCinstance *inst = (ASRCinstance *) gen_inst; ASRCinstance *inst = (ASRCinstance *) gen_inst;
INPfreeTree(inst->ASRCtree);
FREE(inst->ASRCacValues); FREE(inst->ASRCacValues);
FREE(inst->ASRCposPtr);
FREE(inst->ASRCvars);
return OK; return OK;
} }

5
src/spicelib/devices/asrc/asrcdest.c

@ -6,7 +6,6 @@ Author: 1987 Kanwar Jit Singh
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "asrcdefs.h" #include "asrcdefs.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
#include "ngspice/inpdefs.h"
void void
@ -19,10 +18,6 @@ ASRCdestroy(GENmodel **inModel)
ASRCinstance *inst = mod->ASRCinstances; ASRCinstance *inst = mod->ASRCinstances;
while (inst) { while (inst) {
ASRCinstance *next_inst = inst->ASRCnextInstance; ASRCinstance *next_inst = inst->ASRCnextInstance;
INPfreeTree(inst->ASRCtree);
FREE(inst->ASRCacValues);
FREE(inst->ASRCposPtr);
FREE(inst->ASRCvars);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/bjt/bjtdel.c

@ -17,6 +17,7 @@ Author: 1985 Thomas L. Quarles
int int
BJTdelete(GENinstance *gen_inst) BJTdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
BJTinstance *inst = (BJTinstance *) gen_inst;
FREE(inst->BJTsens);
return OK; return OK;
} }

1
src/spicelib/devices/bjt/bjtdest.c

@ -23,7 +23,6 @@ BJTdestroy(GENmodel **inModel)
BJTinstance *inst = mod->BJTinstances; BJTinstance *inst = mod->BJTinstances;
while (inst) { while (inst) {
BJTinstance *next_inst = inst->BJTnextInstance; BJTinstance *next_inst = inst->BJTnextInstance;
FREE(inst->BJTsens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

15
src/spicelib/devices/bsim3/b3dest.c

@ -22,27 +22,12 @@ BSIM3destroy(GENmodel **inModel)
BSIM3model *next_mod = mod->BSIM3nextModel; BSIM3model *next_mod = mod->BSIM3nextModel;
BSIM3instance *inst = mod->BSIM3instances; BSIM3instance *inst = mod->BSIM3instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim3SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim3SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM3instance *next_inst = inst->BSIM3nextInstance; BSIM3instance *next_inst = inst->BSIM3nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM3InstanceArray);
#endif
/* mod->BSIM3modName to be freed in INPtabEnd() */
FREE(mod->BSIM3version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

17
src/spicelib/devices/bsim3/b3mdel.c

@ -17,6 +17,21 @@
int int
BSIM3mDelete(GENmodel *gen_model) BSIM3mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM3model *model = (BSIM3model*) gen_model;
#ifdef USE_OMP
FREE(model->BSIM3InstanceArray);
#endif
struct bsim3SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim3SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/* model->BSIM3modName to be freed in INPtabEnd() */
FREE(model->BSIM3version);
return OK; return OK;
} }

13
src/spicelib/devices/bsim3v32/b3v32dest.c

@ -22,25 +22,12 @@ BSIM3v32destroy (GENmodel **inModel)
while (mod) { while (mod) {
BSIM3v32model *next_mod = mod->BSIM3v32nextModel; BSIM3v32model *next_mod = mod->BSIM3v32nextModel;
BSIM3v32instance *inst = mod->BSIM3v32instances; BSIM3v32instance *inst = mod->BSIM3v32instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim3v32SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim3v32SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM3v32instance *next_inst = inst->BSIM3v32nextInstance; BSIM3v32instance *next_inst = inst->BSIM3v32nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM3v32InstanceArray);
#endif
FREE(mod->BSIM3v32version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

16
src/spicelib/devices/bsim3v32/b3v32mdel.c

@ -18,6 +18,20 @@
int int
BSIM3v32mDelete(GENmodel *gen_model) BSIM3v32mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM3v32model *model = (BSIM3v32model *) gen_model;
#ifdef USE_OMP
FREE(model->BSIM3v32InstanceArray);
#endif
struct bsim3v32SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim3v32SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
FREE(model->BSIM3v32version);
return OK; return OK;
} }

13
src/spicelib/devices/bsim4/b4dest.c

@ -71,25 +71,12 @@ BSIM4destroy(GENmodel **inModel)
while (mod) { while (mod) {
BSIM4model *next_mod = mod->BSIM4nextModel; BSIM4model *next_mod = mod->BSIM4nextModel;
BSIM4instance *inst = mod->BSIM4instances; BSIM4instance *inst = mod->BSIM4instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim4SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim4SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM4instance *next_inst = inst->BSIM4nextInstance; BSIM4instance *next_inst = inst->BSIM4nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM4InstanceArray);
#endif
FREE(mod->BSIM4version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

16
src/spicelib/devices/bsim4/b4mdel.c

@ -67,6 +67,20 @@
int int
BSIM4mDelete(GENmodel *gen_model) BSIM4mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM4model *model = (BSIM4model *) gen_model;
#ifdef USE_OMP
FREE(model->BSIM4InstanceArray);
#endif
struct bsim4SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim4SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
FREE(model->BSIM4version);
return OK; return OK;
} }

13
src/spicelib/devices/bsim4v5/b4v5dest.c

@ -21,25 +21,12 @@ BSIM4v5destroy(GENmodel **inModel)
while (mod) { while (mod) {
BSIM4v5model *next_mod = mod->BSIM4v5nextModel; BSIM4v5model *next_mod = mod->BSIM4v5nextModel;
BSIM4v5instance *inst = mod->BSIM4v5instances; BSIM4v5instance *inst = mod->BSIM4v5instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim4v5SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim4v5SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM4v5instance *next_inst = inst->BSIM4v5nextInstance; BSIM4v5instance *next_inst = inst->BSIM4v5nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM4v5InstanceArray);
#endif
FREE(mod->BSIM4v5version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

16
src/spicelib/devices/bsim4v5/b4v5mdel.c

@ -17,6 +17,20 @@
int int
BSIM4v5mDelete(GENmodel *gen_model) BSIM4v5mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM4v5model *model = (BSIM4v5model*) gen_model;
#ifdef USE_OMP
FREE(model->BSIM4v5InstanceArray);
#endif
struct bsim4v5SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim4v5SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
FREE(model->BSIM4v5version);
return OK; return OK;
} }

13
src/spicelib/devices/bsim4v6/b4v6dest.c

@ -23,25 +23,12 @@ BSIM4v6destroy(GENmodel **inModel)
while (mod) { while (mod) {
BSIM4v6model *next_mod = mod->BSIM4v6nextModel; BSIM4v6model *next_mod = mod->BSIM4v6nextModel;
BSIM4v6instance *inst = mod->BSIM4v6instances; BSIM4v6instance *inst = mod->BSIM4v6instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim4v6SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim4v6SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM4v6instance *next_inst = inst->BSIM4v6nextInstance; BSIM4v6instance *next_inst = inst->BSIM4v6nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM4v6InstanceArray);
#endif
FREE(mod->BSIM4v6version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

16
src/spicelib/devices/bsim4v6/b4v6mdel.c

@ -19,6 +19,20 @@
int int
BSIM4v6mDelete(GENmodel *gen_model) BSIM4v6mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM4v6model *model = (BSIM4v6model *) gen_model;
#ifdef USE_OMP
FREE(model->BSIM4v6InstanceArray);
#endif
struct bsim4v6SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim4v6SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
FREE(model->BSIM4v6version);
return OK; return OK;
} }

14
src/spicelib/devices/bsim4v7/b4v7dest.c

@ -23,26 +23,12 @@ BSIM4v7destroy(GENmodel **inModel)
while (mod) { while (mod) {
BSIM4v7model *next_mod = mod->BSIM4v7nextModel; BSIM4v7model *next_mod = mod->BSIM4v7nextModel;
BSIM4v7instance *inst = mod->BSIM4v7instances; BSIM4v7instance *inst = mod->BSIM4v7instances;
/** added to get rid of link list pSizeDependParamKnot **/
struct bsim4SizeDependParam *p = mod->pSizeDependParamKnot;
while (p) {
struct bsim4SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/** end of extra code **/
while (inst) { while (inst) {
BSIM4v7instance *next_inst = inst->BSIM4v7nextInstance; BSIM4v7instance *next_inst = inst->BSIM4v7nextInstance;
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->BSIM4v7InstanceArray);
#endif
/* mod->BSIM4v7modName to be freed in INPtabEnd() */
FREE(mod->BSIM4v7version);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

17
src/spicelib/devices/bsim4v7/b4v7mdel.c

@ -19,6 +19,21 @@
int int
BSIM4v7mDelete(GENmodel *gen_model) BSIM4v7mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
BSIM4v7model *model = (BSIM4v7model *) gen_model;
#ifdef USE_OMP
FREE(model->BSIM4v7InstanceArray);
#endif
struct bsim4SizeDependParam *p = model->pSizeDependParamKnot;
while (p) {
struct bsim4SizeDependParam *next_p = p->pNext;
FREE(p);
p = next_p;
}
/* model->BSIM4v7modName to be freed in INPtabEnd() */
FREE(model->BSIM4v7version);
return OK; return OK;
} }

4
src/spicelib/devices/bsimsoi/b4soidest.c

@ -33,10 +33,6 @@ B4SOIdestroy(GENmodel **inModel)
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->B4SOIInstanceArray);
#endif
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

6
src/spicelib/devices/bsimsoi/b4soimdel.c

@ -24,5 +24,11 @@ int
B4SOImDelete(GENmodel *gen_model) B4SOImDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model); NG_IGNORE(gen_model);
#ifdef USE_OMP
B4SOImodel *model = (B4SOImodel *) gen_model;
FREE(model->B4SOIInstanceArray);
#endif
return OK; return OK;
} }

4
src/spicelib/devices/hisim2/hsm2dest.c

@ -73,10 +73,6 @@ HSM2destroy(GENmodel **inModel)
inst = next_inst; inst = next_inst;
} }
#ifdef USE_OMP
FREE(mod->HSM2InstanceArray);
#endif
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

6
src/spicelib/devices/hisim2/hsm2mdel.c

@ -64,5 +64,11 @@ int
HSM2mDelete(GENmodel *gen_model) HSM2mDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model); NG_IGNORE(gen_model);
#ifdef USE_OMP
HSM2model *model = (HSM2model *) gen_model;
FREE(model->HSM2InstanceArray);
#endif
return OK; return OK;
} }

5
src/spicelib/devices/isrc/isrcdel.c

@ -12,6 +12,9 @@ Author: 1985 Thomas L. Quarles
int int
ISRCdelete(GENinstance *gen_inst) ISRCdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
ISRCinstance *inst = (ISRCinstance *) gen_inst;
FREE(inst->ISRCcoeffs);
return OK; return OK;
} }

1
src/spicelib/devices/isrc/isrcdest.c

@ -18,7 +18,6 @@ ISRCdestroy(GENmodel **inModel)
ISRCinstance *inst = mod->ISRCinstances; ISRCinstance *inst = mod->ISRCinstances;
while (inst) { while (inst) {
ISRCinstance *next_inst = inst->ISRCnextInstance; ISRCinstance *next_inst = inst->ISRCnextInstance;
FREE(inst->ISRCcoeffs);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/mos1/mos1del.c

@ -12,6 +12,7 @@ Author: 1985 Thomas L. Quarles
int int
MOS1delete(GENinstance *gen_inst) MOS1delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
MOS1instance *inst = (MOS1instance *) gen_inst;
FREE(inst->MOS1sens);
return OK; return OK;
} }

1
src/spicelib/devices/mos1/mos1dest.c

@ -18,7 +18,6 @@ MOS1destroy(GENmodel **inModel)
MOS1instance *inst = mod->MOS1instances; MOS1instance *inst = mod->MOS1instances;
while (inst) { while (inst) {
MOS1instance *next_inst = inst->MOS1nextInstance; MOS1instance *next_inst = inst->MOS1nextInstance;
FREE(inst->MOS1sens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/mos2/mos2del.c

@ -12,6 +12,7 @@ Author: 1985 Thomas L. Quarles
int int
MOS2delete(GENinstance *gen_inst) MOS2delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
MOS2instance *inst = (MOS2instance *) gen_inst;
FREE(inst->MOS2sens);
return OK; return OK;
} }

1
src/spicelib/devices/mos2/mos2dest.c

@ -18,7 +18,6 @@ MOS2destroy(GENmodel **inModel)
MOS2instance *inst = mod->MOS2instances; MOS2instance *inst = mod->MOS2instances;
while (inst) { while (inst) {
MOS2instance *next_inst = inst->MOS2nextInstance; MOS2instance *next_inst = inst->MOS2nextInstance;
FREE(inst->MOS2sens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/mos3/mos3del.c

@ -12,6 +12,7 @@ Author: 1985 Thomas L. Quarles
int int
MOS3delete(GENinstance *gen_inst) MOS3delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
MOS3instance *inst = (MOS3instance *) gen_inst;
FREE(inst->MOS3sens);
return OK; return OK;
} }

1
src/spicelib/devices/mos3/mos3dest.c

@ -18,7 +18,6 @@ MOS3destroy(GENmodel **inModel)
MOS3instance *inst = mod->MOS3instances; MOS3instance *inst = mod->MOS3instances;
while (inst) { while (inst) {
MOS3instance *next_inst = inst->MOS3nextInstance; MOS3instance *next_inst = inst->MOS3nextInstance;
FREE(inst->MOS3sens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/mos6/mos6del.c

@ -12,6 +12,7 @@ Author: 1985 Thomas L. Quarles
int int
MOS6delete(GENinstance *gen_inst) MOS6delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
MOS6instance *inst = (MOS6instance *) gen_inst;
FREE(inst->MOS6sens);
return OK; return OK;
} }

1
src/spicelib/devices/mos6/mos6dest.c

@ -18,7 +18,6 @@ MOS6destroy(GENmodel **inModel)
MOS6instance *inst = mod->MOS6instances; MOS6instance *inst = mod->MOS6instances;
while (inst) { while (inst) {
MOS6instance *next_inst = inst->MOS6nextInstance; MOS6instance *next_inst = inst->MOS6nextInstance;
FREE(inst->MOS6sens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/mos9/mos9del.c

@ -13,6 +13,7 @@ Modified: Alan Gillespie
int int
MOS9delete(GENinstance *gen_inst) MOS9delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
MOS9instance *inst = (MOS9instance *) gen_inst;
FREE(inst->MOS9sens);
return OK; return OK;
} }

1
src/spicelib/devices/mos9/mos9dest.c

@ -19,7 +19,6 @@ MOS9destroy(GENmodel **inModel)
MOS9instance *inst = mod->MOS9instances; MOS9instance *inst = mod->MOS9instances;
while (inst) { while (inst) {
MOS9instance *next_inst = inst->MOS9nextInstance; MOS9instance *next_inst = inst->MOS9nextInstance;
FREE(inst->MOS9sens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

6
src/spicelib/devices/nbjt/nbjtdel.c

@ -10,6 +10,7 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "nbjtdefs.h" #include "nbjtdefs.h"
#include "../../../ciderlib/oned/onedext.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -17,6 +18,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NBJTdelete(GENinstance *gen_inst) NBJTdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
NBJTinstance *inst = (NBJTinstance *) gen_inst;
ONEdestroy(inst->NBJTpDevice);
return OK; return OK;
} }

3
src/spicelib/devices/nbjt/nbjtdest.c

@ -10,8 +10,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "nbjtdefs.h" #include "nbjtdefs.h"
#include "../../../ciderlib/oned/onedext.h"
#include "ngspice/cidersupt.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -25,7 +23,6 @@ NBJTdestroy(GENmodel **inModel)
NBJTinstance *inst = mod->NBJTinstances; NBJTinstance *inst = mod->NBJTinstances;
while (inst) { while (inst) {
NBJTinstance *next_inst = inst->NBJTnextInstance; NBJTinstance *next_inst = inst->NBJTnextInstance;
ONEdestroy(inst->NBJTpDevice);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

7
src/spicelib/devices/nbjt2/nbt2del.c

@ -10,6 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "nbjt2def.h" #include "nbjt2def.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -17,6 +19,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NBJT2delete(GENinstance *gen_inst) NBJT2delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
NBJT2instance *inst = (NBJT2instance *) gen_inst;
TWOdestroy(inst->NBJT2pDevice);
return OK; return OK;
} }

3
src/spicelib/devices/nbjt2/nbt2dest.c

@ -10,8 +10,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "nbjt2def.h" #include "nbjt2def.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -25,7 +23,6 @@ NBJT2destroy(GENmodel **inModel)
NBJT2instance *inst = mod->NBJT2instances; NBJT2instance *inst = mod->NBJT2instances;
while (inst) { while (inst) {
NBJT2instance *next_inst = inst->NBJT2nextInstance; NBJT2instance *next_inst = inst->NBJT2nextInstance;
TWOdestroy(inst->NBJT2pDevice);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

2
src/spicelib/devices/ndev/ndevdest.c

@ -22,8 +22,6 @@ NDEVdestroy(GENmodel **inModel)
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }
close(mod->sock);
printf("Disconnect to remote NDEV server %s:%d\n", mod->host, mod->port);
FREE(mod); FREE(mod);
mod = next_mod; mod = next_mod;
} }

6
src/spicelib/devices/ndev/ndevmdel.c

@ -12,6 +12,10 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NDEVmDelete(GENmodel *gen_model) NDEVmDelete(GENmodel *gen_model)
{ {
NG_IGNORE(gen_model);
NDEVmodel *model = (NDEVmodel *) gen_model;
close(model->sock);
printf("Disconnect to remote NDEV server %s:%d\n", model->host, model->port);
return OK; return OK;
} }

6
src/spicelib/devices/numd/numddel.c

@ -5,6 +5,7 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numddefs.h" #include "numddefs.h"
#include "../../../ciderlib/oned/onedext.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -12,6 +13,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMDdelete(GENinstance *gen_inst) NUMDdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
NUMDinstance *inst = (NUMDinstance *) gen_inst;
ONEdestroy(inst->NUMDpDevice);
return OK; return OK;
} }

3
src/spicelib/devices/numd/numddest.c

@ -10,8 +10,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numddefs.h" #include "numddefs.h"
#include "../../../ciderlib/oned/onedext.h"
#include "ngspice/cidersupt.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -25,7 +23,6 @@ NUMDdestroy(GENmodel **inModel)
NUMDinstance *inst = mod->NUMDinstances; NUMDinstance *inst = mod->NUMDinstances;
while (inst) { while (inst) {
NUMDinstance *next_inst = inst->NUMDnextInstance; NUMDinstance *next_inst = inst->NUMDnextInstance;
ONEdestroy(inst->NUMDpDevice);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

7
src/spicelib/devices/numd2/nud2del.c

@ -5,6 +5,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numd2def.h" #include "numd2def.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -12,6 +14,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMD2delete(GENinstance *gen_inst) NUMD2delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
NUMD2instance *inst = (NUMD2instance *) gen_inst;
TWOdestroy(inst->NUMD2pDevice);
return OK; return OK;
} }

4
src/spicelib/devices/numd2/nud2dest.c

@ -10,9 +10,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numd2def.h" #include "numd2def.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/cidersupt.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -26,7 +23,6 @@ NUMD2destroy(GENmodel **inModel)
NUMD2instance *inst = mod->NUMD2instances; NUMD2instance *inst = mod->NUMD2instances;
while (inst) { while (inst) {
NUMD2instance *next_inst = inst->NUMD2nextInstance; NUMD2instance *next_inst = inst->NUMD2nextInstance;
TWOdestroy(inst->NUMD2pDevice);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

7
src/spicelib/devices/numos/nummdel.c

@ -10,6 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numosdef.h" #include "numosdef.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/sperror.h" #include "ngspice/sperror.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -17,6 +19,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMOSdelete(GENinstance *gen_inst) NUMOSdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
NUMOSinstance *inst = (NUMOSinstance *) gen_inst;
TWOdestroy(inst->NUMOSpDevice);
return OK; return OK;
} }

3
src/spicelib/devices/numos/nummdest.c

@ -10,8 +10,6 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
#include "ngspice/ngspice.h" #include "ngspice/ngspice.h"
#include "numosdef.h" #include "numosdef.h"
#include "../../../ciderlib/twod/twoddefs.h"
#include "../../../ciderlib/twod/twodext.h"
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
@ -25,7 +23,6 @@ NUMOSdestroy(GENmodel **inModel)
NUMOSinstance *inst = mod->NUMOSinstances; NUMOSinstance *inst = mod->NUMOSinstances;
while (inst) { while (inst) {
NUMOSinstance *next_inst = inst->NUMOSnextInstance; NUMOSinstance *next_inst = inst->NUMOSnextInstance;
TWOdestroy(inst->NUMOSpDevice);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

5
src/spicelib/devices/soi3/soi3del.c

@ -30,5 +30,10 @@ int
SOI3delete(GENinstance *gen_inst) SOI3delete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst); NG_IGNORE(gen_inst);
#if 0
/* fixme, why not ? */
SOI3instance *inst = (SOI3instance *) gen_inst;
FREE(inst->SOI3sens);
#endif
return OK; return OK;
} }

1
src/spicelib/devices/soi3/soi3dest.c

@ -35,7 +35,6 @@ SOI3destroy(GENmodel **inModel)
SOI3instance *inst = mod->SOI3instances; SOI3instance *inst = mod->SOI3instances;
while (inst) { while (inst) {
SOI3instance *next_inst = inst->SOI3nextInstance; SOI3instance *next_inst = inst->SOI3nextInstance;
/* FREE(inst->SOI3sens); */
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

3
src/spicelib/devices/vbic/vbicdel.c

@ -19,6 +19,7 @@ Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH
int int
VBICdelete(GENinstance *gen_inst) VBICdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
VBICinstance *inst = (VBICinstance *) gen_inst;
FREE(inst->VBICsens);
return OK; return OK;
} }

1
src/spicelib/devices/vbic/vbicdest.c

@ -25,7 +25,6 @@ VBICdestroy(GENmodel **inModel)
VBICinstance *inst = mod->VBICinstances; VBICinstance *inst = mod->VBICinstances;
while (inst) { while (inst) {
VBICinstance *next_inst = inst->VBICnextInstance; VBICinstance *next_inst = inst->VBICnextInstance;
FREE(inst->VBICsens);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

5
src/spicelib/devices/vsrc/vsrcdel.c

@ -12,6 +12,9 @@ Author: 1985 Thomas L. Quarles
int int
VSRCdelete(GENinstance *gen_inst) VSRCdelete(GENinstance *gen_inst)
{ {
NG_IGNORE(gen_inst);
VSRCinstance *inst = (VSRCinstance *) gen_inst;
FREE(inst->VSRCcoeffs);
return OK; return OK;
} }

1
src/spicelib/devices/vsrc/vsrcdest.c

@ -18,7 +18,6 @@ VSRCdestroy(GENmodel **inModel)
VSRCinstance *inst = mod->VSRCinstances; VSRCinstance *inst = mod->VSRCinstances;
while (inst) { while (inst) {
VSRCinstance *next_inst = inst->VSRCnextInstance; VSRCinstance *next_inst = inst->VSRCnextInstance;
FREE(inst->VSRCcoeffs);
FREE(inst); FREE(inst);
inst = next_inst; inst = next_inst;
} }

Loading…
Cancel
Save