From bd335cb5bebbb68d0c0567a9fe461a31b4ecad6f Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 14 May 2016 15:48:55 +0200 Subject: [PATCH] nupa_substitute(), delay kptr assignment --- src/frontend/numparam/xpressn.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index 353876735..d92a575b7 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -1190,7 +1190,6 @@ nupa_substitute(dico_t *dico, const char *s, char *r) spice_dstring_init(&qstr); const char * const s_end = strchr(s, '\0'); - const char *kptr; while ((s < s_end) && !err) { @@ -1198,7 +1197,7 @@ nupa_substitute(dico_t *dico, const char *s, char *r) if (c == '{') { /* try ps expression syntax */ - kptr = s; + const char *kptr = s; nnest = 1; do @@ -1243,10 +1242,9 @@ nupa_substitute(dico_t *dico, const char *s, char *r) while ((s < s_end) && (s[-1] <= ' ')) s++; - kptr = s; - - if (kptr[-1] == '(') { + if (s[-1] == '(') { /* sub-formula */ + const char *kptr = s; level = 1; do @@ -1276,6 +1274,7 @@ nupa_substitute(dico_t *dico, const char *s, char *r) } else { /* simple identifier may also be string? */ + const char *kptr = s; do { if (kptr >= s_end)