From 303d78f6165842adebb2626044d95f974ff59d27 Mon Sep 17 00:00:00 2001 From: rlar Date: Wed, 25 Oct 2017 21:33:13 +0200 Subject: [PATCH] numparam/xpressn.c, #1/5, cleanup, rewrite upside down and use known variable values to instantly 'return' instead of skipping some 'if' bodies --- src/frontend/numparam/xpressn.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index 13aed8475..5d786ace9 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -1137,11 +1137,12 @@ evaluate(dico_t *dico, SPICE_DSTRINGPTR qstr_p, char *t, unsigned char mode) while (entry && (entry->tp == 'P')) entry = entry->pointer; /* follow pointer chain */ - /* pointer chain */ - if (entry) - dt = entry->tp; - else - dt = ' '; + if (!entry) + return message(dico, + "\"%s\" not evaluated.%s\n", t, + nolookup ? " Lookup failure." : ""); + + dt = entry->tp; /* data type: Real or String */ if (dt == 'R') { @@ -1168,11 +1169,6 @@ evaluate(dico_t *dico, SPICE_DSTRINGPTR qstr_p, char *t, unsigned char mode) } while (!done); } - - if (!entry) - err = message(dico, - "\"%s\" not evaluated.%s\n", t, - nolookup ? " Lookup failure." : ""); } else { u = formula(dico, t, t + strlen(t), &err); numeric = 1;