parser/inpgmod.c, #1/6, cleanup, search, break then process

This commit is contained in:
rlar 2018-01-10 13:21:37 +01:00
parent 6c71fef6f6
commit edceabbb54
1 changed files with 9 additions and 8 deletions

View File

@ -89,18 +89,19 @@ create_model(CKTcircuit *ckt, INPmodel *modtmp, INPtables *tab)
for (j = 0; j < *(ft_sim->devices[modtmp->INPmodType]->numModelParms); j++) {
if (strcmp(parm, ft_sim->devices[modtmp->INPmodType]->modelParms[j].keyword) == 0) {
val = INPgetValue(ckt, &line, ft_sim->devices[modtmp->INPmodType]->modelParms[j].dataType, tab);
error = ft_sim->setModelParm(ckt, modtmp->INPmodfast,
ft_sim->devices[modtmp->INPmodType]->modelParms[j].id,
val, NULL);
if (error)
return error;
break;
}
}
if (j < *(ft_sim->devices[modtmp->INPmodType]->numModelParms)) {
val = INPgetValue(ckt, &line, ft_sim->devices[modtmp->INPmodType]->modelParms[j].dataType, tab);
error = ft_sim->setModelParm(ckt, modtmp->INPmodfast,
ft_sim->devices[modtmp->INPmodType]->modelParms[j].id,
val, NULL);
if (error)
return error;
}
if (j >= *(ft_sim->devices[modtmp->INPmodType]->numModelParms) && strcmp(parm, "level") == 0) {
/* just grab the level number and throw away */
/* since we already have that info from pass1 */