From e4578a345e60e2a7f9c02cce5c8cd008d89ce419 Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 19 Jan 2023 16:04:44 +0200 Subject: [PATCH] =?UTF-8?q?fix=200=E2=80=BF1=E2=8A=90"ab"=E2=80=BF"cd"=20&?= =?UTF-8?q?=200=E2=80=BF1=E2=88=8A=CB=9C"ab"=E2=80=BF"cd"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/search.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/builtins/search.c b/src/builtins/search.c index a9f5dc02..db24111d 100644 --- a/src/builtins/search.c +++ b/src/builtins/search.c @@ -106,7 +106,7 @@ B indexOf_c2(B t, B w, B x) { u8 we = TI(w,elType); usz wia = IA(w); u8 xe = TI(x,elType); usz xia = IA(x); if (wia == 0) { B r=taga(arr_shCopy(allZeroes(xia), x)); decG(w); decG(x); return r; } - if (we==el_bit) { + if (we==el_bit && xe!=el_B) { u64* wp = bitarr_ptr(w); u64 w0 = 1 & wp[0]; u64 i = bit_find(wp, wia, !w0); decG(w); @@ -175,7 +175,7 @@ B memberOf_c2(B t, B w, B x) { u8 xe = TI(x,elType); usz xia = IA(x); if (xia == 0) { r=taga(arr_shCopy(allZeroes(wia), w)); decG(w); goto dec_x; } #define WEQ(V) C2(eq, incG(w), V) - if (xe==el_bit) { + if (xe==el_bit && we!=el_B) { u64* xp = bitarr_ptr(x); u64 x0 = 1 & xp[0]; r = WEQ(m_usz(x0));