From: Takeshi Watanabe Date: Sat, 24 Mar 2018 07:18:44 +0000 (+0900) Subject: Return nil if type differ in `String#<=>`. X-Git-Tag: 1.4.1~31^2 X-Git-Url: https://repo.or.cz/mruby.git/commitdiff_plain/77a3863a3d4b57fdd29beebb1e56f4874607fe70?hp=-c Return nil if type differ in `String#<=>`. --- 77a3863a3d4b57fdd29beebb1e56f4874607fe70 diff --git a/src/string.c b/src/string.c index e8c60a660..469335bb9 100644 --- a/src/string.c +++ b/src/string.c @@ -926,7 +926,7 @@ mrb_str_cmp_m(mrb_state *mrb, mrb_value str1) else { mrb_value tmp = mrb_funcall(mrb, str2, "<=>", 1, str1); - if (!mrb_nil_p(tmp)) return mrb_nil_value(); + if (mrb_nil_p(tmp)) return mrb_nil_value(); if (!mrb_fixnum_p(tmp)) { return mrb_funcall(mrb, mrb_fixnum_value(0), "-", 1, tmp); } diff --git a/test/t/string.rb b/test/t/string.rb index a1277ce99..e91b915fe 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -20,6 +20,7 @@ assert('String#<=>', '15.2.10.5.1') do assert_equal 1, c assert_equal(-1, d) assert_equal 1, e + assert_nil 'a' <=> 1024 end assert('String#==', '15.2.10.5.2') do