summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/iseq.c b/iseq.c
index 8fe442316c..9e66f9b8ce 100644
--- a/iseq.c
+++ b/iseq.c
@@ -782,11 +782,13 @@ ruby_iseq_disasm(VALUE self)
}
}
- snprintf(argi, sizeof(argi), "%s%s%s%s", /* arg, opts, rest, block */
+ snprintf(argi, sizeof(argi), "%s%s%s%s%s", /* arg, opts, rest, post block */
iseqdat->argc > i ? "Arg" : "",
opti,
- iseqdat->arg_rest - d == i ? "Rest" : "",
- iseqdat->arg_block - d == i ? "Block" : "");
+ iseqdat->arg_rest == i ? "Rest" : "",
+ (iseqdat->arg_post_start <= i &&
+ i < iseqdat->arg_post_start + iseqdat->arg_post_len) ? "Post" : "",
+ iseqdat->arg_block == i ? "Block" : "");
snprintf(info, sizeof(info), "%s%s%s%s", name ? name : "?",
*argi ? "<" : "", argi, *argi ? ">" : "");