Mercurial > prosody-hg
view util/bitcompat.lua @ 14177:67b68147ed1d 13.0
util.ringbuffer: find(): Fix find logic bugs
If the buffer was full, find() would return earlier (wpos == rpos). Checking
blen is the better way to test if the buffer is empty.
Secondly, the loop scanned for blen - l, but if l (length of needle) was
larger than the buffer length, this calculation would underflow and cause a
lot of spinning.
New tests have been added to cover various edge cases of :find().
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 25 May 2026 14:44:20 +0100 |
| parents | de902cc0d46c |
| children |
line wrap: on
line source
-- Compatibility layer for bitwise operations -- First try the bit32 lib -- Lua 5.3 has it with compat enabled -- Lua 5.2 has it by default if rawget(_G, "bit32") then return _G.bit32; end do -- Lua 5.3 and 5.4 would be able to use native infix operators local ok, bitop = pcall(require, "prosody.util.bit53") if ok then return bitop; end end error "No bit module found. See https://prosody.im/doc/depends#bitop";
