aboutsummaryrefslogtreecommitdiffhomepage
path: root/qbuffers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qbuffers.cpp')
-rw-r--r--qbuffers.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/qbuffers.cpp b/qbuffers.cpp
index 3c11ab0..e90b505 100644
--- a/qbuffers.cpp
+++ b/qbuffers.cpp
@@ -164,11 +164,16 @@ QRegister::execute(void) throw (State::Error)
try {
macro_execute(str);
+ if (Goto::skip_label)
+ throw State::Error("Label \"%s\" not found",
+ Goto::skip_label);
} catch (...) {
g_free(str);
macro_pc = parent_pc;
States::current = parent_state;
Goto::table = parent_goto_table;
+ g_free(Goto::skip_label);
+ Goto::skip_label = NULL;
throw; /* forward */
}