summaryrefslogtreecommitdiff
path: root/range.c
diff options
context:
space:
mode:
Diffstat (limited to 'range.c')
-rw-r--r--range.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/range.c b/range.c
index f4ab7e1344..ae16ae4dd5 100644
--- a/range.c
+++ b/range.c
@@ -587,8 +587,9 @@ range_bsearch(VALUE range)
* (-1...0.0).bsearch to yield -0.0.
*/
-#define BSEARCH_CHECK(val) \
+#define BSEARCH_CHECK(expr) \
do { \
+ VALUE val = (expr); \
VALUE v = rb_yield(val); \
if (FIXNUM_P(v)) { \
if (FIX2INT(v) == 0) return val; \