diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index aec602385..89729b175 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -121,7 +121,7 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current) tfree(err_msg); /* check if using model binning -- pass in line since need 'l' and 'w' */ - if (!thismodel) + if (!thismodel && nodeflag < 5) INPgetModBin(ckt, nname[nodeflag], &thismodel, tab, line); if (!thismodel) { @@ -131,6 +131,10 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current) err_msg = INPgetMod(ckt, nname[nodeflag], &thismodel, tab); tfree(err_msg); + /* check if using model binning -- pass in line since need 'l' and 'w' */ + if (!thismodel && nodeflag < 5) + INPgetModBin(ckt, nname[nodeflag], &thismodel, tab, line); + if (!thismodel) { nodeflag = 6; INPgetNetTok(&line, &nname[nodeflag], 1); @@ -138,6 +142,10 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current) err_msg = INPgetMod(ckt, nname[nodeflag], &thismodel, tab); tfree(err_msg); + /* check if using model binning -- pass in line since need 'l' and 'w' */ + if (!thismodel && nodeflag < 5) + INPgetModBin(ckt, nname[nodeflag], &thismodel, tab, line); + if (!thismodel) { nodeflag = 7; INPgetTok(&line, &nname[nodeflag], 1); @@ -145,6 +153,10 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current) err_msg = INPgetMod(ckt, nname[nodeflag], &thismodel, tab); tfree(err_msg); + /* check if using model binning -- pass in line since need 'l' and 'w' */ + if (!thismodel && nodeflag < 5) + INPgetModBin(ckt, nname[nodeflag], &thismodel, tab, line); + if (thismodel) { /* nodeflag == 7 */ if (!valid_numnodes(nodeflag, thismodel, current))