From c06dddc4db0b665573d8ede5ab6218e76fc3bb8a Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 14 May 2016 14:48:18 +0200 Subject: [PATCH] nupa_substitute(), break sooner --- src/frontend/numparam/xpressn.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index e6b1740bf..2e59b22d6 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -1202,6 +1202,8 @@ nupa_substitute(dico_t *dico, const char *s, char *r) for (;; kptr++) { char d = *kptr; + if (d == '\0') + break; if (d == '{') nnest++; @@ -1211,9 +1213,6 @@ nupa_substitute(dico_t *dico, const char *s, char *r) if (nnest == 0) { break; } - if (d == '\0') { - break; - } } if (*kptr == '\0') { @@ -1255,19 +1254,16 @@ nupa_substitute(dico_t *dico, const char *s, char *r) for (;; kptr++) { char d; - if (kptr >= s_end) - d = '\0'; - else - d = *kptr; + if (kptr >= s_end) { + break; + } + d = *kptr; if (d == '(') level++; else if (d == ')') level--; - if (kptr >= s_end) { - break; - } if ((d == ')') && (level <= 0)) { break; } @@ -1289,13 +1285,9 @@ nupa_substitute(dico_t *dico, const char *s, char *r) char d; if (kptr >= s_end) - d = '\0'; - else - d = *kptr; - - if (kptr >= s_end) { break; - } + d = *kptr; + if (d <= ' ') { break; }