Browse Source

CKTfndMod(), rewrite error expressions

pre-master-46
rlar 13 years ago
parent
commit
213304f745
  1. 8
      src/frontend/spiceif.c
  2. 8
      src/spicelib/analysis/cktmcrt.c
  3. 10
      src/spicelib/devices/urc/urcsetup.c

8
src/frontend/spiceif.c

@ -611,7 +611,6 @@ finddev_special(
GENmodel **modptr, GENmodel **modptr,
int *device_or_model) int *device_or_model)
{ {
int err;
int type = -1; int type = -1;
*devptr = ft_sim->findInstance (ckt, name); *devptr = ft_sim->findInstance (ckt, name);
@ -625,8 +624,7 @@ finddev_special(
// assert(second && *second == -1) // assert(second && *second == -1)
// assert(third && *third == NULL) // assert(third && *third == NULL)
*modptr = ft_sim->findModel (ckt, &type, modptr, name); *modptr = ft_sim->findModel (ckt, &type, modptr, name);
err = *modptr ? OK : E_NOMOD;
if (err == OK) {
if (*modptr) {
*device_or_model = 1; *device_or_model = 1;
return (type); return (type);
} }
@ -1214,7 +1212,6 @@ doset(CKTcircuit *ckt, int typecode, GENinstance *dev, GENmodel *mod, IFparm *op
static int static int
finddev(CKTcircuit *ckt, char *name, GENinstance **devptr, GENmodel **modptr) finddev(CKTcircuit *ckt, char *name, GENinstance **devptr, GENmodel **modptr)
{ {
int err;
int type = -1; int type = -1;
*devptr = ft_sim->findInstance (ckt, name); *devptr = ft_sim->findInstance (ckt, name);
@ -1226,8 +1223,7 @@ finddev(CKTcircuit *ckt, char *name, GENinstance **devptr, GENmodel **modptr)
// assert(second && *second == -1) // assert(second && *second == -1)
// assert(third && *third == NULL) // assert(third && *third == NULL)
*modptr = ft_sim->findModel (ckt, &type, modptr, name); *modptr = ft_sim->findModel (ckt, &type, modptr, name);
err = *modptr ? OK : E_NOMOD;
if (err == OK)
if (*modptr)
return (type); return (type);
*modptr = NULL; *modptr = NULL;

8
src/spicelib/analysis/cktmcrt.c

@ -21,13 +21,11 @@ int
CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name) CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name)
{ {
GENmodel *mymodfast = NULL; GENmodel *mymodfast = NULL;
int error;
// assert(second) // assert(second)
// assert(third && *third == NULL) // assert(third && *third == NULL)
mymodfast = CKTfndMod(ckt, &type, &mymodfast, name); mymodfast = CKTfndMod(ckt, &type, &mymodfast, name);
error = mymodfast ? OK : E_NOMOD;
if(error == E_NOMOD) {
if(!mymodfast) {
mymodfast = (GENmodel *) tmalloc((size_t) *(DEVices[type]->DEVmodSize)); mymodfast = (GENmodel *) tmalloc((size_t) *(DEVices[type]->DEVmodSize));
if(mymodfast == NULL) return(E_NOMEM); if(mymodfast == NULL) return(E_NOMEM);
mymodfast->GENmodType = type; mymodfast->GENmodType = type;
@ -36,11 +34,9 @@ CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name)
ckt->CKThead[type] = mymodfast; ckt->CKThead[type] = mymodfast;
if(modfast) *modfast=mymodfast; if(modfast) *modfast=mymodfast;
return(OK); return(OK);
} else if (error==0) {
} else {
if(modfast) *modfast=mymodfast; if(modfast) *modfast=mymodfast;
return(E_EXISTS); return(E_EXISTS);
} else {
return(error);
} }
/*NOTREACHED*/ /*NOTREACHED*/
} }

10
src/spicelib/devices/urc/urcsetup.c

@ -311,9 +311,8 @@ URCunsetup(GENmodel *inModel, CKTcircuit *ckt)
// assert(second && *second == -1) // assert(second && *second == -1)
// assert(third && *third == NULL) // assert(third && *third == NULL)
modfast = CKTfndMod(ckt, &type, &modfast, varUid); modfast = CKTfndMod(ckt, &type, &modfast, varUid);
error = modfast ? OK : E_NOMOD;
if (error)
return error;
if (!modfast)
return E_NOMOD;
for (in = modfast->GENinstances; in; in = in->GENnextInstance) for (in = modfast->GENinstances; in; in = in->GENnextInstance)
CKTdltNNum(ckt, in->GENnode1); CKTdltNNum(ckt, in->GENnode1);
@ -331,9 +330,8 @@ URCunsetup(GENmodel *inModel, CKTcircuit *ckt)
// assert(second && *second == -1) // assert(second && *second == -1)
// assert(third && *third == NULL) // assert(third && *third == NULL)
modfast = CKTfndMod(ckt, &type, &modfast, varUid); modfast = CKTfndMod(ckt, &type, &modfast, varUid);
error = modfast ? OK : E_NOMOD;
if (error)
return error;
if (!modfast)
return E_NOMOD;
CKTdltMod(ckt, modfast); CKTdltMod(ckt, modfast);
} }

Loading…
Cancel
Save