summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/eval.c b/eval.c
index 0d25a620ea..24497796ce 100644
--- a/eval.c
+++ b/eval.c
@@ -6995,9 +6995,10 @@ proc_invoke(proc, args, self, klass)
result = prot_tag->retval;
}
else if (orphan) { /* orphan block */
- localjump_error("%s from block-closure",
- state == TAG_BREAK ? "break" : "return",
- prot_tag->retval, state);
+ char mesg[32];
+ snprintf(mesg, sizeof mesg, "%s from block-closure",
+ state == TAG_BREAK ? "break" : "return");
+ localjump_error(mesg, prot_tag->retval, state);
}
else {
ruby_block->tag->dst = incoming_state;