SCP: Defer substitution for IF/ASSERT command action commands

This commit is contained in:
Mark Pizzolato 2018-05-24 13:31:07 -07:00
parent c294787aed
commit 5f2c7b2a48

4
scp.c
View file

@ -4056,6 +4056,8 @@ else {
if (*cptr == '(') {
t_svalue value;
if ((cptr > sim_sub_instr_buf) && ((size_t)(cptr - sim_sub_instr_buf) < sim_sub_instr_size))
cptr = &sim_sub_instr[sim_sub_instr_off[cptr - sim_sub_instr_buf]]; /* get un-substituted string */
cptr = sim_eval_expression (cptr, &value, TRUE, &r);
result = (value != 0);
}
@ -4116,6 +4118,8 @@ else {
}
}
}
if ((cptr > sim_sub_instr_buf) && ((size_t)(cptr - sim_sub_instr_buf) < sim_sub_instr_size))
cptr = &sim_sub_instr[sim_sub_instr_off[cptr - sim_sub_instr_buf]]; /* get un-substituted string */
if (Not ^ result) {
if (!flag)
sim_brk_setact (cptr); /* set up IF actions */