nupa_substitute(), postpone kptr incrementation
This commit is contained in:
parent
d38804d7c0
commit
571909b8b6
|
|
@ -1216,22 +1216,21 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kptr++;
|
|
||||||
|
|
||||||
if (d == '\0') {
|
if (d == '\0') {
|
||||||
err = message(dico, "Closing \"}\" not found.\n");
|
err = message(dico, "Closing \"}\" not found.\n");
|
||||||
} else {
|
} else {
|
||||||
/* exeption made for .meas */
|
/* 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);
|
spice_dstring_reinit(&qstr);
|
||||||
sadd(&qstr, "last");
|
sadd(&qstr, "last");
|
||||||
err = 0;
|
err = 0;
|
||||||
} else {
|
} 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)
|
if (!err)
|
||||||
ir = ir + (int) (insertnumber(dico, r + ir, &qstr) - (r + ir));
|
ir = ir + (int) (insertnumber(dico, r + ir, &qstr) - (r + ir));
|
||||||
else
|
else
|
||||||
|
|
@ -1273,15 +1272,14 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kptr++;
|
|
||||||
|
|
||||||
if (kptr > s_end) {
|
if (kptr >= s_end) {
|
||||||
err = message(dico, "Closing \")\" not found.\n");
|
err = message(dico, "Closing \")\" not found.\n");
|
||||||
} else {
|
} else {
|
||||||
err = evaluate_expr(dico, &qstr, s, kptr - 1);
|
err = evaluate_expr(dico, &qstr, s, kptr + 1 - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
s = kptr;
|
s = kptr + 1;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/* simple identifier may also be string? */
|
/* simple identifier may also be string? */
|
||||||
|
|
@ -1301,10 +1299,9 @@ nupa_substitute(dico_t *dico, const char *s, char *r)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kptr++;
|
|
||||||
|
|
||||||
err = evaluate_variable(dico, &qstr, s - 1, kptr - 1);
|
err = evaluate_variable(dico, &qstr, s - 1, kptr + 1 - 1);
|
||||||
s = kptr - 1;
|
s = kptr + 1 - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!err)
|
if (!err)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue