view util/bit53.lua @ 14182:a331cde41c85 13.0

util.poll: Reject fd == FD_SETSIZE FD_SETSIZE is the maximum total number of FDs supports (well, the highest valid fd number). 0 is a valid fd number, so it supports up to 1023 if FD_SETSIZE is 1024. This is just a fencepost issue, fds > FD_SETSIZE were already correctly rejected.
author Matthew Wild <mwild1@gmail.com>
date Mon, 25 May 2026 16:06:19 +0100
parents 9912baa541c0
children
line wrap: on
line source

-- Only the operators needed by net.websocket.frames are provided at this point
return {
	band   = function (a, b, ...)
		local ret = a & b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret & (select(i, ...));
			end
		end
		return ret;
	end;
	bor    = function (a, b, ...)
		local ret = a | b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret | (select(i, ...));
			end
		end
		return ret;
	end;
	bxor   = function (a, b, ...)
		local ret = a ~ b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret ~ (select(i, ...));
			end
		end
		return ret;
	end;
	bnot   = function (x)
		return ~x;
	end;
	rshift = function (a, n) return a >> n end;
	lshift = function (a, n) return a << n end;
};