diff --git a/src/spicelib/parser/inpdpar.c b/src/spicelib/parser/inpdpar.c index e7e546149..f2bb851e6 100644 --- a/src/spicelib/parser/inpdpar.c +++ b/src/spicelib/parser/inpdpar.c @@ -58,6 +58,14 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, } for (i = 0; i < *(ft_sim->devices[dev]->numInstanceParms); i++) { if (strcmp(parm, ft_sim->devices[dev]->instanceParms[i].keyword) == 0) { + break; + } + } + if (i >= *(ft_sim->devices[dev]->numInstanceParms)) { + errbuf = tprintf(" unknown parameter (%s) \n", parm); + rtn = errbuf; + goto quit; + } int type; @@ -84,14 +92,6 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, else if (type == IF_INTVEC) tfree(val->v.vec.iVec); - break; - } - } - if (i == *(ft_sim->devices[dev]->numInstanceParms)) { - errbuf = tprintf(" unknown parameter (%s) \n", parm); - rtn = errbuf; - goto quit; - } FREE(parm); }