Software /
code /
prosody
File
util/hex.lua @ 11937:364c3f018e3a
mod_smacks: Refactor ack requesting to avoid some timer roundtrips
The function was too large to comprehend! Breaking it up helps
readability and reuse.
The timer round rip is only to avoid ordering weirdness when sending
from inside a stanza filter. No need when handling <r> and <a>
CSI interactions both boiled down to sending an <r> immediately.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 24 Nov 2021 21:27:49 +0100 |
parent | 6802:442019e955dc |
child | 12355:a0ff5c438e9d |
line wrap: on
line source
local s_char = string.char; local s_format = string.format; local s_gsub = string.gsub; local s_lower = string.lower; local char_to_hex = {}; local hex_to_char = {}; do local char, hex; for i = 0,255 do char, hex = s_char(i), s_format("%02x", i); char_to_hex[char] = hex; hex_to_char[hex] = char; end end local function to(s) return (s_gsub(s, ".", char_to_hex)); end local function from(s) return (s_gsub(s_lower(s), "%X*(%x%x)%X*", hex_to_char)); end return { to = to, from = from }