diff options
author | Kim Alvefur <zash@zash.se> | 2022-12-12 07:10:54 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2022-12-12 07:10:54 +0100 |
commit | 080d7974bf0c1da8a1c0578d67c3172facc9d719 (patch) | |
tree | 838d6904e47ab8681928b37701ff4f1c6e89184a /util/format.lua | |
parent | baff85a52c5fda705e8b3699410c770f015d89ab (diff) | |
parent | c916ce76ee89dca32e7e653dff1ade4732462efc (diff) | |
download | prosody-080d7974bf0c1da8a1c0578d67c3172facc9d719.tar.gz prosody-080d7974bf0c1da8a1c0578d67c3172facc9d719.zip |
Merge 0.12->trunk
Diffstat (limited to 'util/format.lua')
-rw-r--r-- | util/format.lua | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/util/format.lua b/util/format.lua index d709aada..0631f423 100644 --- a/util/format.lua +++ b/util/format.lua @@ -6,14 +6,12 @@ -- Provides some protection from e.g. CAPEC-135, CWE-117, CWE-134, CWE-93 local tostring = tostring; -local unpack = table.unpack or unpack; -- luacheck: ignore 113/unpack -local pack = require "util.table".pack; -- TODO table.pack in 5.2+ +local unpack = table.unpack; +local pack = table.pack; local valid_utf8 = require "util.encodings".utf8.valid; local type = type; local dump = require "util.serialization".new("debug"); -local num_type = math.type or function (n) - return n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float"; -end +local num_type = math.type; -- In Lua 5.3+ these formats throw an error if given a float local expects_integer = { c = true, d = true, i = true, o = true, u = true, X = true, x = true, }; @@ -35,7 +33,6 @@ local control_symbols = { ["\030"] = "\226\144\158", ["\031"] = "\226\144\159", ["\127"] = "\226\144\161", }; local supports_p = pcall(string.format, "%p", ""); -- >= Lua 5.4 -local supports_a = pcall(string.format, "%a", 0.0); -- > Lua 5.1 local function format(formatstring, ...) local args = pack(...); @@ -93,8 +90,6 @@ local function format(formatstring, ...) elseif expects_positive[option] and arg < 0 then args[i] = tostring(arg); return "[%s]"; - elseif (option == "a" or option == "A") and not supports_a then - return "%x"; else return -- acceptable number end |