diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-25 05:23:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-25 05:23:54 +0000 |
commit | 50a99a76791bcd09b15353d704226a9cb52fd2b9 (patch) | |
tree | e8a1ff4504195a8fe1a71ed51221466d402dc5bc /range.c | |
parent | 537a46c69af2bdadcb65966ce0a7fccc35be4989 (diff) |
range.c: use rb_check_funcall
* range.c (rb_range_values): use rb_check_funcall instead of
calling rb_respond_to then rb_funcall, and allow `begin` and
`end` to be private as well as other internal conversions.
[ruby-core:83541] [Bug #14048]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'range.c')
-rw-r--r-- | range.c | 8 |
1 files changed, 0 insertions, 8 deletions
@@ -988,18 +988,10 @@ rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp) } else { VALUE x; -#if 0 - /* TODO: fix spec/mspec/lib/mspec/mocks/mock.rb:Mock.verify_call */ b = rb_check_funcall(range, id_beg, 0, 0); if (b == Qundef) return (int)Qfalse; e = rb_check_funcall(range, id_end, 0, 0); if (e == Qundef) return (int)Qfalse; -#else - if (!rb_respond_to(range, id_beg)) return (int)Qfalse; - if (!rb_respond_to(range, id_end)) return (int)Qfalse; - b = rb_funcall(range, id_beg, 0); - e = rb_funcall(range, id_end, 0); -#endif x = rb_check_funcall(range, rb_intern("exclude_end?"), 0, 0); if (x == Qundef) return (int)Qfalse; excl = RTEST(x); |