nupa_substitute(), postpone kptr incrementation

This commit is contained in:
rlar 2016-05-14 13:59:49 +02:00
parent d38804d7c0
commit 571909b8b6
1 changed files with 8 additions and 11 deletions

View File

@ -1216,22 +1216,21 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
break;
}
}
kptr++;
if (d == '\0') {
err = message(dico, "Closing \"}\" not found.\n");
} else {
/* exeption made for .meas */
if (s + 4 == kptr - 1 && strncasecmp(s, "LAST", 4) == 0) {
if (s + 4 == kptr + 1 - 1 && strncasecmp(s, "LAST", 4) == 0) {
spice_dstring_reinit(&qstr);
sadd(&qstr, "last");
err = 0;
} else {
err = evaluate_expr(dico, &qstr, s, kptr - 1);
err = evaluate_expr(dico, &qstr, s, kptr + 1 - 1);
}
}
s = kptr;
s = kptr + 1;
if (!err)
ir = ir + (int) (insertnumber(dico, r + ir, &qstr) - (r + ir));
else
@ -1273,15 +1272,14 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
break;
}
}
kptr++;
if (kptr > s_end) {
if (kptr >= s_end) {
err = message(dico, "Closing \")\" not found.\n");
} else {
err = evaluate_expr(dico, &qstr, s, kptr - 1);
err = evaluate_expr(dico, &qstr, s, kptr + 1 - 1);
}
s = kptr;
s = kptr + 1;
} else {
/* simple identifier may also be string? */
@ -1301,10 +1299,9 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
break;
}
}
kptr++;
err = evaluate_variable(dico, &qstr, s - 1, kptr - 1);
s = kptr - 1;
err = evaluate_variable(dico, &qstr, s - 1, kptr + 1 - 1);
s = kptr + 1 - 1;
}
if (!err)