aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sc_interp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sc_interp.c b/src/sc_interp.c
index 51849d5..d2db5bf 100644
--- a/src/sc_interp.c
+++ b/src/sc_interp.c
@@ -1073,9 +1073,9 @@ static void exec_macro(SCBlock *bl, SCInterpreter *scin, SCBlock *child)
sc_interp_save(scin);
scin->state[scin->j].macro_real_block = bl;
scin->state[scin->j].macro_contents = child;
- sc_interp_add_blocks(scin, st->macros[i].bl);
+ sc_interp_add_blocks(scin, scin->state[scin->j].macros[i].bl);
sc_interp_restore(scin);
- break;
+ break; /* Stop iterating, because "st" is now invalid */
}
}
}