From 88c50afcd90c90ac436dfb78180aac1bbb9d6190 Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 3 Feb 2018 17:45:27 +0100 Subject: [PATCH] parser/inpdpar.c, #6/6, cleanup, introduce find_instance_parameter() --- src/spicelib/parser/inpdpar.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/spicelib/parser/inpdpar.c b/src/spicelib/parser/inpdpar.c index 8c62cd681..64a19eaec 100644 --- a/src/spicelib/parser/inpdpar.c +++ b/src/spicelib/parser/inpdpar.c @@ -20,6 +20,19 @@ Author: 1985 Thomas L. Quarles #include "ngspice/fteext.h" #include "inpxx.h" +static IFparm * +find_instance_parameter(char *name, IFdevice *device) +{ + IFparm *p = device->instanceParms; + IFparm *p_end = p + *(device->numInstanceParms); + + for (; p < p_end; p++) + if (strcmp(name, p->keyword) == 0) + return p; + return NULL; +} + + char * INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, double *leading, int *waslead, INPtables *tab) @@ -58,16 +71,9 @@ INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, goto quit; } - IFparm *p = device->instanceParms; - IFparm *p_end = p + *(device->numInstanceParms); - - for (; p < p_end; p++) { - if (strcmp(parm, p->keyword) == 0) { - break; - } - } + IFparm *p = find_instance_parameter(parm, device); - if (p >= p_end) { + if (!p) { errbuf = tprintf(" unknown parameter (%s) \n", parm); rtn = errbuf; goto quit;