summaryrefslogtreecommitdiff
path: root/range.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-05-17 09:54:20 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-05-17 09:54:20 +0000
commitc8bd43a967355ddb5acb2fad757db3faaf7465fb (patch)
treebdf0448fcda73f30315d5591be793946c826ca16 /range.c
parent32599f5a9d24bf31d4c105be859ccf3f659bf227 (diff)
arity/strict yield
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'range.c')
-rw-r--r--range.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/range.c b/range.c
index d2ce1f0058..51bcc2f81f 100644
--- a/range.c
+++ b/range.c
@@ -189,7 +189,7 @@ rb_range_beg_len(range, begp, lenp, len, err)
beg += len;
if (beg < 0) goto out_of_range;
}
- if (err == 2) {
+ if (err == 0 || err == 2) {
if (beg > len) goto out_of_range;
if (end > len || (!EXCL(range) && end == len))
goto out_of_range;
@@ -197,7 +197,7 @@ rb_range_beg_len(range, begp, lenp, len, err)
if (end < 0) {
end += len;
if (end < 0) {
- if (err == 1 && e == -1 && !EXCL(range)) {
+ if (beg == 0 && end == -1 && !EXCL(range)) {
len = 0;
goto length_set;
}