diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index 8509ebb39..d6089e821 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -238,33 +238,12 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current) IFC (bindNode, (ckt, fast, 4, node[3])); /* use type - not thismodel->INPmodType as it might not exist! */ - if (model_numnodes(type) > 4) - { - switch (numnodes) { - case 4: - fast->GENnode[4] = -1; - fast->GENnode[5] = -1; - fast->GENnode[6] = -1; - break; - case 5: - IFC (bindNode, (ckt, fast, 4 + 1, node[4])); - fast->GENnode[5] = -1; - fast->GENnode[6] = -1; - break; - case 6: - IFC (bindNode, (ckt, fast, 4 + 1, node[4])); - IFC (bindNode, (ckt, fast, 5 + 1, node[5])); - fast->GENnode[6] = -1; - break; - case 7: - IFC (bindNode, (ckt, fast, 4 + 1, node[4])); - IFC (bindNode, (ckt, fast, 5 + 1, node[5])); - IFC (bindNode, (ckt, fast, 6 + 1, node[6])); - break; - default: - break; - } - } + int model_numnodes_ = model_numnodes(type); + for (i = 4; i < model_numnodes_; i++) + if (i < numnodes) + IFC (bindNode, (ckt, fast, i + 1, node[i])); + else + fast->GENnode[i] = -1; PARSECALL ((&line, ckt, type, fast, &leadval, &waslead, tab)); if (waslead)