From fc45b3addfd35e30a9a10e563cab2ab648223342 Mon Sep 17 00:00:00 2001 From: rlar Date: Thu, 16 Nov 2017 18:51:45 +0100 Subject: [PATCH] stripbraces(), make `s' constant in the region of interest --- src/frontend/numparam/spicenum.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/frontend/numparam/spicenum.c b/src/frontend/numparam/spicenum.c index d557b0803..b6ccb77c9 100644 --- a/src/frontend/numparam/spicenum.c +++ b/src/frontend/numparam/spicenum.c @@ -93,17 +93,18 @@ stripbraces(SPICE_DSTRINGPTR dstr_p) /* puts the funny placeholders. returns the number of {...} substitutions */ { int n, i, nest, j; - char *s; /* value of dynamic string */ + char *s0; /* value of dynamic string */ char *brace; SPICE_DSTRING tstr; /* temporary dynamic string */ n = 0; spice_dstring_init(&tstr); - s = spice_dstring_value(dstr_p); + s0 = spice_dstring_value(dstr_p); i = 0; - while ((brace = strchr(s + i, '{')) != NULL) { + while ((brace = strchr(s0 + i, '{')) != NULL) { + char * const s = s0; i = (int) (brace - s); @@ -139,7 +140,7 @@ stripbraces(SPICE_DSTRINGPTR dstr_p) int ilen = spice_dstring_length(&tstr); sadd(&tstr, s + j); scopyd(dstr_p, &tstr); - s = spice_dstring_value(dstr_p); + s0 = spice_dstring_value(dstr_p); i = ilen; }