diff --git a/src/frontend/numparam/xpressn.c b/src/frontend/numparam/xpressn.c index 2eb03b611..b0d69e54a 100644 --- a/src/frontend/numparam/xpressn.c +++ b/src/frontend/numparam/xpressn.c @@ -1655,13 +1655,14 @@ nupa_subcktcall(dico_t *dico, char *s, char * const x, char * const inst_name) char * const u_p = spice_dstring_value(&ustr); if (u_p[0]) { - char *dollar = strchr(spice_dstring_value(&idlist), '$'); + char * const idlist_p = spice_dstring_value(&idlist); + char *dollar = strchr(idlist_p, '$'); if (dollar) { - int kk = (int) (dollar - spice_dstring_value(&idlist)); + int kk = (int) (dollar - idlist_p); /* replace dollar with expression string u */ - pscopy(&vstr, spice_dstring_value(&idlist), 0, kk); + pscopy(&vstr, idlist_p, 0, kk); sadd(&vstr, spice_dstring_value(&ustr)); - sadd(&vstr, spice_dstring_value(&idlist) + kk + 1); + sadd(&vstr, idlist_p + kk + 1); scopyd(&idlist, &vstr); } narg++;