diff --git a/src/include/ngspice/inpmacs.h b/src/include/ngspice/inpmacs.h index 02aaa7604..b43f9d94d 100644 --- a/src/include/ngspice/inpmacs.h +++ b/src/include/ngspice/inpmacs.h @@ -1,6 +1,7 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ + /* a couple of macros to make much of the input code * much much shorter and easier to handle. * @@ -9,9 +10,14 @@ Copyright 1990 Regents of the University of California. All rights reserved. * If necessary, get the proper error message and tack it on the current * error */ -#define IFC(func,args)\ -error=(*(ft_sim->func))args;\ -if(error)current->error = INPerrCat(current->error,INPerror(error)); + +#define IFC(func, args) \ + do { \ + error = (*(ft_sim->func)) args; \ + if (error) \ + current->error = INPerrCat(current->error, INPerror(error)); \ + } while(0) + /* and one for calling more General functions that still return an * error code as above diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index 29c03657a..f0fdb314b 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -282,19 +282,19 @@ INP2M (CKTcircuit *ckt, INPtables * tab, card * current) fast->GENnode7 = -1; break; case 1: - IFC (bindNode, (ckt, fast, 5, node5)) + IFC (bindNode, (ckt, fast, 5, node5)); fast->GENnode6 = -1; fast->GENnode7 = -1; break; case 2: - IFC (bindNode, (ckt, fast, 5, node5)) - IFC (bindNode, (ckt, fast, 6, node6)) + IFC (bindNode, (ckt, fast, 5, node5)); + IFC (bindNode, (ckt, fast, 6, node6)); fast->GENnode7 = -1; break; case 3: - IFC (bindNode, (ckt, fast, 5, node5)) - IFC (bindNode, (ckt, fast, 6, node6)) - IFC (bindNode, (ckt, fast, 7, node7)) + IFC (bindNode, (ckt, fast, 5, node5)); + IFC (bindNode, (ckt, fast, 6, node6)); + IFC (bindNode, (ckt, fast, 7, node7)); break; default: break; diff --git a/src/spicelib/parser/inp2p.c b/src/spicelib/parser/inp2p.c index da733acfa..288adbde5 100644 --- a/src/spicelib/parser/inp2p.c +++ b/src/spicelib/parser/inp2p.c @@ -97,11 +97,11 @@ int num, i; if(!tab->defPmod) { /* create default P model */ IFnewUid(ckt, &uid, NULL, "P", UID_MODEL, NULL); - IFC(newModel, (ckt,type,&(tab->defPmod),uid)) + IFC(newModel, (ckt,type,&(tab->defPmod),uid)); } mdfast = tab->defPmod; } - IFC(newInstance,(ckt,mdfast,&fast,name)) + IFC(newInstance,(ckt,mdfast,&fast,name)); INPgetTok(&line,&model,1); if ((strcmp(model, "length") == 0) || (strcmp(model, "len") == 0)) { lenval = INPevaluate(&line,&error1,1); @@ -112,7 +112,7 @@ int num, i; return; } - /* IFC(bindNode,(ckt,fast,1,fakename)) */ + /* IFC(bindNode,(ckt,fast,1,fakename)); */ ptemp.iValue = num; GCA(INPpName,("dimension", &ptemp,ckt,type,fast)) diff --git a/src/spicelib/parser/inp2y.c b/src/spicelib/parser/inp2y.c index a735e6737..46fae06a4 100644 --- a/src/spicelib/parser/inp2y.c +++ b/src/spicelib/parser/inp2y.c @@ -129,16 +129,16 @@ int lenvalgiven = 0; if(!tab->defRmod) { /* create default R model */ IFnewUid(ckt, &uid, NULL, "R", UID_MODEL, NULL); - IFC(newModel, (ckt,type,&(tab->defRmod),uid)) + IFC(newModel, (ckt,type,&(tab->defRmod),uid)); } mdfast = tab->defRmod; rname1 = TMALLOC(char, 10 + strlen(name)); strcpy(rname1, "txlres1"); strcat(rname1, name); INPinsert(&rname1, tab); - IFC(newInstance,(ckt,mdfast,&fast,rname1)) - IFC(bindNode,(ckt,fast,1,node1)) - IFC(bindNode,(ckt,fast,2,inode1)) + IFC(newInstance,(ckt,mdfast,&fast,rname1)); + IFC(bindNode,(ckt,fast,1,node1)); + IFC(bindNode,(ckt,fast,2,inode1)); ptemp.rValue = rval; GCA(INPpName,("resistance",&ptemp,ckt,type,fast)) @@ -152,9 +152,9 @@ int lenvalgiven = 0; strcat(rname2, name); INPinsert(&rname2, tab); mdfast2 = tab->defRmod; - IFC(newInstance,(ckt,mdfast2,&fast2,rname2)) - IFC(bindNode,(ckt,fast2,1,inode1)) - IFC(bindNode,(ckt,fast2,2,inode2)) + IFC(newInstance,(ckt,mdfast2,&fast2,rname2)); + IFC(bindNode,(ckt,fast2,1,inode1)); + IFC(bindNode,(ckt,fast2,2,inode2)); ptemp.rValue = rval; GCA(INPpName,("resistance",&ptemp,ckt,type,fast2)) @@ -164,9 +164,9 @@ int lenvalgiven = 0; strcat(rname3, name); INPinsert(&rname3, tab); mdfast3 = tab->defRmod; - IFC(newInstance,(ckt,mdfast3,&fast3,rname3)) - IFC(bindNode,(ckt,fast3,1,inode2)) - IFC(bindNode,(ckt,fast3,2,node2)) + IFC(newInstance,(ckt,mdfast3,&fast3,rname3)); + IFC(bindNode,(ckt,fast3,1,inode2)); + IFC(bindNode,(ckt,fast3,2,node2)); ptemp.rValue = rval; GCA(INPpName,("resistance",&ptemp,ckt,type,fast3)) @@ -174,16 +174,16 @@ int lenvalgiven = 0; type = INPtypelook("Capacitor"); if(!tab->defCmod) { IFnewUid(ckt, &uid, NULL, "C", UID_MODEL, NULL); - IFC(newModel,(ckt,type,&(tab->defCmod),uid)) + IFC(newModel,(ckt,type,&(tab->defCmod),uid)); } mdfast4 = tab->defCmod; cname1 = TMALLOC(char, 10 + strlen(name)); strcpy(cname1, "txlcap1"); strcat(cname1, name); INPinsert(&cname1, tab); - IFC(newInstance,(ckt,mdfast4,&fast4,cname1)) - IFC(bindNode,(ckt,fast4,1,node1)) - IFC(bindNode,(ckt,fast4,2,gnode1)) + IFC(newInstance,(ckt,mdfast4,&fast4,cname1)); + IFC(bindNode,(ckt,fast4,1,node1)); + IFC(bindNode,(ckt,fast4,2,gnode1)); ptemp.rValue = cval; GCA(INPpName,("capacitance",&ptemp,ckt,type,fast4)) @@ -193,9 +193,9 @@ int lenvalgiven = 0; strcat(cname2, name); INPinsert(&cname2, tab); mdfast4 = tab->defCmod; - IFC(newInstance,(ckt,mdfast4,&fast4,cname2)) - IFC(bindNode,(ckt,fast4,1,inode1)) - IFC(bindNode,(ckt,fast4,2,gnode1)) + IFC(newInstance,(ckt,mdfast4,&fast4,cname2)); + IFC(bindNode,(ckt,fast4,1,inode1)); + IFC(bindNode,(ckt,fast4,2,gnode1)); ptemp.rValue = cval * 2; GCA(INPpName,("capacitance",&ptemp,ckt,type,fast4)) @@ -205,9 +205,9 @@ int lenvalgiven = 0; strcat(cname3, name); INPinsert(&cname3, tab); mdfast5 = tab->defCmod; - IFC(newInstance,(ckt,mdfast5,&fast5,cname3)) - IFC(bindNode,(ckt,fast5,1,inode2)) - IFC(bindNode,(ckt,fast5,2,gnode1)) + IFC(newInstance,(ckt,mdfast5,&fast5,cname3)); + IFC(bindNode,(ckt,fast5,1,inode2)); + IFC(bindNode,(ckt,fast5,2,gnode1)); ptemp.rValue = cval * 2; GCA(INPpName,("capacitance",&ptemp,ckt,type,fast5)) @@ -217,9 +217,9 @@ int lenvalgiven = 0; strcat(cname4, name); INPinsert(&cname4, tab); mdfast6 = tab->defCmod; - IFC(newInstance,(ckt,mdfast6,&fast6,cname4)) - IFC(bindNode,(ckt,fast6,1,node2)) - IFC(bindNode,(ckt,fast6,2,gnode1)) + IFC(newInstance,(ckt,mdfast6,&fast6,cname4)); + IFC(bindNode,(ckt,fast6,1,node2)); + IFC(bindNode,(ckt,fast6,2,gnode1)); ptemp.rValue = cval; GCA(INPpName,("capacitance",&ptemp,ckt,type,fast6)) return; @@ -234,11 +234,11 @@ int lenvalgiven = 0; if(!tab->defYmod) { /* create default Y model */ IFnewUid(ckt, &uid, NULL, "Y", UID_MODEL, NULL); - IFC(newModel, (ckt,type,&(tab->defYmod),uid)) + IFC(newModel, (ckt,type,&(tab->defYmod),uid)); } mdfast = tab->defYmod; } - IFC(newInstance,(ckt,mdfast,&fast,name)) + IFC(newInstance,(ckt,mdfast,&fast,name)); } else { LITERR("model name is not found") return; @@ -249,8 +249,8 @@ int lenvalgiven = 0; GCA(INPpName,("length",&ptemp,ckt,type,fast)) } - IFC(bindNode,(ckt,fast,1,node1)) - IFC(bindNode,(ckt,fast,2,node2)) + IFC(bindNode,(ckt,fast,1,node1)); + IFC(bindNode,(ckt,fast,2,node2)); txl = /*fixme*/ fast; diff --git a/src/spicelib/parser/inppas3.c b/src/spicelib/parser/inppas3.c index 35bcaf4a5..84b35b190 100644 --- a/src/spicelib/parser/inppas3.c +++ b/src/spicelib/parser/inppas3.c @@ -124,7 +124,7 @@ INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task, fprintf(stderr, "Warning : IC on non-existant node - %s\n", name); ptemp.rValue = INPevaluate(&line,&error,1); - IFC(setNodeParm, (ckt, node1, which, &ptemp, NULL)) + IFC(setNodeParm, (ckt, node1, which, &ptemp, NULL)); continue; } LITERR(" Error: .ic syntax error.\n") diff --git a/src/xspice/mif/mif_inp2.c b/src/xspice/mif/mif_inp2.c index c1240e1b1..a31de88f7 100644 --- a/src/xspice/mif/mif_inp2.c +++ b/src/xspice/mif/mif_inp2.c @@ -219,7 +219,7 @@ MIF_INP2A ( /* create a new structure for this instance in ckt */ mdfast = (MIFmodel*) thismodel->INPmodfast; - IFC(newInstance, (ckt, (GENmodel*)mdfast, (GENinstance **)fast, name)) + IFC(newInstance, (ckt, (GENmodel*)mdfast, (GENinstance **)fast, name)); /* initialize the code model specific elements of the inst struct */