From d3420eb3d5f13825e0933fc7c0b2a424c7ed7fa7 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Wed, 19 Dec 2018 22:58:18 +0100 Subject: [PATCH] ecl_equal: fix comparison of displaced bitvectors Fixes #445 --- src/c/predicate.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/c/predicate.d b/src/c/predicate.d index 6ad82e260..57eeca00f 100644 --- a/src/c/predicate.d +++ b/src/c/predicate.d @@ -377,8 +377,8 @@ ecl_equal(register cl_object x, cl_object y) ox = x->vector.offset; oy = y->vector.offset; for (i = 0; i < x->vector.fillp; i++) - if((x->vector.self.bit[(i+ox)/8] & (0200>>(i+ox)%8)) - !=(y->vector.self.bit[(i+oy)/8] & (0200>>(i+oy)%8))) + if(((x->vector.self.bit[(i+ox)/8] & (0200>>(i+ox)%8)) << ox) + !=((y->vector.self.bit[(i+oy)/8] & (0200>>(i+oy)%8)) << oy)) return(FALSE); return(TRUE); }