]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add unhex utility
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 21 Dec 2021 20:21:06 +0000 (20:21 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 21 Dec 2021 20:21:06 +0000 (20:21 +0000)
lualib/lua_util.lua

index 75d218da35a9b6ca766a83cc1260145302d16d3b..4b0e5019296222b53ac6b28a3088df648622b1c1 100644 (file)
@@ -1473,4 +1473,19 @@ exports.shuffle = function(tbl)
   return tbl
 end
 
+--
+local hex_table = {}
+for idx = 0, 255 do
+  hex_table[("%02X"):format(idx)] = string.char(idx)
+  hex_table[("%02x"):format(idx)] = string.char(idx)
+end
+
+---[[[
+-- @function lua_util.unhex(str)
+-- Decode hex encoded string
+-- @param {string} str string to decode
+-- @return {string} hex decoded string (valid hex pairs are decoded, everything else is printed as is)
+--]]]
+exports.unhex = function(str) return str:gsub('(..)', hex_table) end
+
 return exports