summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-03 13:41:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-03 13:41:01 +0000
commit6e0f413f0188e48fa68d392dcb946b693a57da13 (patch)
treec2685f59288664f4bd9accb8d3ace11ff5d7fa24 /iseq.c
parentca209c80e9ab2911793a8d348514698c3124214b (diff)
* iseq.c (simple_default_value): returns simplest assignment only.
[ruby-core:20237] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/iseq.c b/iseq.c
index 54ae01f8c2..351ea41fd9 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1292,13 +1292,12 @@ simple_default_value(const VALUE *seq, const VALUE *eseq)
got:
switch (*seq++) {
case BIN(setlocal):
- if ((seq+=1) != eseq) return Qundef;
+ if ((seq+=1) == eseq) return val;
break;
case BIN(setdynamic):
- if ((seq+=2) != eseq) return Qundef;
+ if ((seq+=2) == eseq) return val;
break;
}
- return val;
default:
return Qundef;
}