summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorU.Nakamura <usa@ruby-lang.org>2023-10-10 20:02:12 +0900
committerU.Nakamura <usa@ruby-lang.org>2023-10-10 20:02:12 +0900
commiteb54ed809f61fb25a0de101a7a6a649e8d4a434c (patch)
treeac2fd32d0429dfc7de0af679db7f43e1221b3e55 /array.c
parent4153e807c55ec0fc234969ae08a01c1e0c8ed167 (diff)
merge revision(s) a28c5151f567cada0d2f5c0c3ec4df7f97b80784: [Backport #19855]
Fix Array#bsearch when block returns a non-integer numeric value --- array.c | 4 ++-- test/ruby/test_array.rb | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-)
Diffstat (limited to 'array.c')
-rw-r--r--array.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/array.c b/array.c
index 8becdbbc91..5824345cc9 100644
--- a/array.c
+++ b/array.c
@@ -3469,8 +3469,8 @@ rb_ary_bsearch_index(VALUE ary)
const VALUE zero = INT2FIX(0);
switch (rb_cmpint(rb_funcallv(v, id_cmp, 1, &zero), v, zero)) {
case 0: return INT2FIX(mid);
- case 1: smaller = 1; break;
- case -1: smaller = 0;
+ case 1: smaller = 0; break;
+ case -1: smaller = 1;
}
}
else {