Opened 11 years ago

Closed 11 years ago

#1037 closed defect (fixed)

byte-blob-find fails on certain matches on 32-bit Chicken

Reported by: dthedens Owned by: Ivan Raikov
Priority: major Milestone: someday
Component: extensions Version: 4.7.x
Keywords: byte-blob, 32-bit Cc:
Estimated difficulty:

Description

(byte-blob-find (list->byte-blob (list 1 31)) (list->byte-blob (list 0 1 31 3)))

fails to match on 32-bit, but succeeds on 64-bit. Replace 31 with any byte value with low 5 bits all set (63, 95, etc.) and matches also fail. This may be related to the fact that internal function (swizzle 31) -> 0 on 32-bit, but is #x80000000 on 64-bit.

Change History (3)

comment:1 Changed 11 years ago by Ivan Raikov

Owner: set to Ivan Raikov
Status: newaccepted

Hello, thanks for the bug report. I have rewritten swizzle so that it does not rely on 64-bit integers, and I have made a new release of byte-blob. Please try it out and let me know if it works for you.

comment:2 Changed 11 years ago by dthedens

Yes, this seems to have fixed my small test case as well as my original problem on 32 bit. Thanks for the quick turnaround!

comment:3 Changed 11 years ago by Ivan Raikov

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.