Jspice3
srcdel.c File Reference
#include "spice.h"
#include <stdio.h>
#include "srcdefs.h"
#include "util.h"
#include "sperror.h"
Include dependency graph for srcdel.c:

Go to the source code of this file.

Functions

int SRCdelete (GENmodel *model, IFuid name, GENinstance **fast)
 

Function Documentation

int SRCdelete ( GENmodel model,
IFuid  name,
GENinstance **  fast 
)

Definition at line 17 of file srcdel.c.

22 {
23  SRCinstance **instPtr = (SRCinstance**)fast;
24  SRCmodel *modPtr = (SRCmodel*)model;
25  SRCinstance **prev = NULL;
26  SRCinstance *here;
27 
28  for ( ; modPtr; modPtr = modPtr->SRCnextModel) {
29  prev = &(modPtr->SRCinstances);
30  for (here = *prev; here; here = *prev) {
31  if (here->SRCname == name || (instPtr && here == *instPtr) ) {
32  *prev = here->SRCnextInstance;
33  FREE(here->SRCvalues);
34  FREE(here->SRCderivs);
35  FREE(here->SRCeqns);
36  FREE(here->SRCacValues);
37  FREE(here->SRCposptr);
38  if (here->SRCtree)
39  (*here->SRCtree->IFfree)(here->SRCtree);
40  FREE(here);
41  return (OK);
42  }
43  prev = &(here->SRCnextInstance);
44  }
45  }
46  return (E_NODEV);
47 }
struct sSRCinstance * SRCnextInstance
Definition: srcdefs.h:26
double * SRCvalues
Definition: srcdefs.h:109
#define E_NODEV
Definition: iferrmsg.h:22
int * SRCeqns
Definition: srcdefs.h:118
#define FREE(ptr)
Definition: spdefs.h:436
#define OK
Definition: iferrmsg.h:17
#define NULL
Definition: spdefs.h:121
SRCinstance * SRCinstances
Definition: srcdefs.h:205
double ** SRCposptr
Definition: srcdefs.h:53
double * SRCacValues
Definition: srcdefs.h:106
double * SRCderivs
Definition: srcdefs.h:115
IFuid SRCname
Definition: srcdefs.h:29
IFparseTree * SRCtree
Definition: srcdefs.h:103
struct sSRCmodel * SRCnextModel
Definition: srcdefs.h:202