summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-06-01 23:54:43 +0900
committerYukihiro Matsumoto <[email protected]>2012-06-01 23:54:43 +0900
commitd6337e48ad17648b50fc965ba27c99ceea2f258f (patch)
tree28ab7c9033b672fa4e8c8830b8270a0883bcce9a
parent364f7e8f376f6bc01b6fcf79bdec0e4a06969df1 (diff)
downloadmruby-d6337e48ad17648b50fc965ba27c99ceea2f258f.tar.gz
mruby-d6337e48ad17648b50fc965ba27c99ceea2f258f.zip
rest argument offset might be -1 that means empty
-rw-r--r--src/parse.y8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parse.y b/src/parse.y
index 55c82c12d..eae9fb373 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -5163,7 +5163,13 @@ parser_dump(mrb_state *mrb, node *tree, int offset)
if (n2->car) {
dump_prefix(offset+2);
printf("rest:\n");
- parser_dump(mrb, n2->car, offset+3);
+ if (n2->car == (node*)-1) {
+ dump_prefix(offset+2);
+ printf("(empty)\n");
+ }
+ else {
+ parser_dump(mrb, n2->car, offset+3);
+ }
}
n2 = n2->cdr;
if (n2) {