diff --git a/src/spicelib/parser/inpdpar.c b/src/spicelib/parser/inpdpar.c index 7ed4680a8..23ab85581 100644 --- a/src/spicelib/parser/inpdpar.c +++ b/src/spicelib/parser/inpdpar.c @@ -30,6 +30,8 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, /* the optional leading numeric parameter */ /* flag - 1 if leading double given, 0 otherwise */ { + IFdevice *device = ft_sim->devices[dev]; + int error; /* int to store evaluate error return codes in */ char *parm = NULL; char *errbuf; @@ -57,27 +59,27 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, goto quit; } - for (i = 0; i < *(ft_sim->devices[dev]->numInstanceParms); i++) { - if (strcmp(parm, ft_sim->devices[dev]->instanceParms[i].keyword) == 0) { + for (i = 0; i < *(device->numInstanceParms); i++) { + if (strcmp(parm, device->instanceParms[i].keyword) == 0) { break; } } - if (i >= *(ft_sim->devices[dev]->numInstanceParms)) { + if (i >= *(device->numInstanceParms)) { errbuf = tprintf(" unknown parameter (%s) \n", parm); rtn = errbuf; goto quit; } val = INPgetValue(ckt, line, - ft_sim->devices[dev]->instanceParms[i].dataType, + device->instanceParms[i].dataType, tab); if (!val) { rtn = INPerror(E_PARMVAL); goto quit; } error = ft_sim->setInstanceParm (ckt, fast, - ft_sim->devices[dev]->instanceParms[i].id, + device->instanceParms[i].id, val, NULL); if (error) { rtn = INPerror(error); @@ -85,7 +87,7 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, } /* delete the union val */ - switch (ft_sim->devices[dev]->instanceParms[i].dataType & IF_VARTYPES) { + switch (device->instanceParms[i].dataType & IF_VARTYPES) { case IF_REALVEC: tfree(val->v.vec.rVec); break;