Software /
code /
prosody
File
util/bitcompat.lua @ 10921:6eb5d2bb11af
util-src: Use the luaL_pushfail API added in Lua 5.4 to highlight all failure conditions
Actually just an alias of pushnil, but it does make it more obvious
where the failure conditions are, which is good for readability.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 07 Jun 2020 02:25:56 +0200 |
parent | 10241:48f7cda4174d |
child | 12573:0f4feaf9ca64 |
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 _G.bit32 then return _G.bit32; else -- Lua 5.1 may have it as a standalone module that can be installed local ok, bitop = pcall(require, "bit32") if ok then return bitop; end end do -- Lua 5.3 and 5.4 would be able to use native infix operators local ok, bitop = pcall(require, "util.bit53") if ok then return bitop; end end do -- Lastly, try the LuaJIT bitop library local ok, bitop = pcall(require, "bit") if ok then return bitop; end end error "No bit module found. See https://prosody.im/doc/depends#bitop";