From d04b7871a12fa2ddbe518f53da9632d0bb37b906 Mon Sep 17 00:00:00 2001 From: davidflanagan Date: Thu, 1 Nov 2007 05:53:52 +0000 Subject: * enum.c (take_while_i, drop_while_i) add RTEST to handle nil return git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- enum.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'enum.c') diff --git a/enum.c b/enum.c index 968250c326..5beb900d4f 100644 --- a/enum.c +++ b/enum.c @@ -1435,7 +1435,7 @@ enum_take(VALUE obj, VALUE n) static VALUE take_while_i(VALUE i, VALUE *ary) { - if (!rb_yield(i)) rb_iter_break(); + if (!RTEST(rb_yield(i))) rb_iter_break(); rb_ary_push(*ary, i); return Qnil; } @@ -1501,7 +1501,7 @@ enum_drop(VALUE obj, VALUE n) static VALUE drop_while_i(VALUE i, VALUE *args) { - if (!args[1] && !rb_yield(i)) { + if (!args[1] && !RTEST(rb_yield(i))) { args[1] = Qtrue; } if (args[1]) { -- cgit v1.2.1