From e45bd78f2554af3c10cdca1fac6b8e64943f1fe7 Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 19 Apr 2023 22:42:28 +0300 Subject: [PATCH] fix comparison of empty high-rank arrays --- src/builtins/compare.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/builtins/compare.c b/src/builtins/compare.c index 79a3d362..3ab7b3ff 100644 --- a/src/builtins/compare.c +++ b/src/builtins/compare.c @@ -10,12 +10,11 @@ NOINLINE i32 compareF(B w, B x) { bool xa=isAtm(x); usz xia; ur xr; usz* xsh; AS2B xgetU; Arr* xArr; if(wa) { wia=1; wr=0; wsh=NULL; } else { wia=IA(w); wr=RNK(w); wsh=SH(w); wgetU=TI(w,getU); wArr = a(w); } if(xa) { xia=1; xr=0; xsh=NULL; } else { xia=IA(x); xr=RNK(x); xsh=SH(x); xgetU=TI(x,getU); xArr = a(x); } - if (wia==0 || xia==0) return CMP(wia, xia); i32 rc = CMP(wr+(wa?0:1), xr+(xa?0:1)); ur rr = wr