view util/xpcall.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 d10957394a3c
children
line wrap: on
line source

local xpcall = xpcall;

if select(2, xpcall(function (x) return x end, function () end,  "test")) ~= "test" then
	xpcall = require"prosody.util.compat".xpcall;
end

return {
	xpcall = xpcall;
};