Software /
code /
prosody
Comparison
util/format.lua @ 12573:0f4feaf9ca64
util: Remove various Lua 5.1 compatibility hacks
Part of #1600
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 02 Jul 2022 17:31:14 +0200 |
parent | 12261:f7946c8e502f |
child | 12589:39ae08180c81 |
comparison
equal
deleted
inserted
replaced
12572:35a9ed6b7896 | 12573:0f4feaf9ca64 |
---|---|
33 ["\024"] = "\226\144\152", ["\025"] = "\226\144\153", ["\026"] = "\226\144\154", | 33 ["\024"] = "\226\144\152", ["\025"] = "\226\144\153", ["\026"] = "\226\144\154", |
34 ["\027"] = "\226\144\155", ["\028"] = "\226\144\156", ["\029"] = "\226\144\157", | 34 ["\027"] = "\226\144\155", ["\028"] = "\226\144\156", ["\029"] = "\226\144\157", |
35 ["\030"] = "\226\144\158", ["\031"] = "\226\144\159", ["\127"] = "\226\144\161", | 35 ["\030"] = "\226\144\158", ["\031"] = "\226\144\159", ["\127"] = "\226\144\161", |
36 }; | 36 }; |
37 local supports_p = pcall(string.format, "%p", ""); -- >= Lua 5.4 | 37 local supports_p = pcall(string.format, "%p", ""); -- >= Lua 5.4 |
38 local supports_a = pcall(string.format, "%a", 0.0); -- > Lua 5.1 | |
39 | 38 |
40 local function format(formatstring, ...) | 39 local function format(formatstring, ...) |
41 local args = pack(...); | 40 local args = pack(...); |
42 local args_length = args.n; | 41 local args_length = args.n; |
43 | 42 |
91 args[i] = tostring(arg); | 90 args[i] = tostring(arg); |
92 return "[%s]"; | 91 return "[%s]"; |
93 elseif expects_positive[option] and arg < 0 then | 92 elseif expects_positive[option] and arg < 0 then |
94 args[i] = tostring(arg); | 93 args[i] = tostring(arg); |
95 return "[%s]"; | 94 return "[%s]"; |
96 elseif (option == "a" or option == "A") and not supports_a then | |
97 return "%x"; | |
98 else | 95 else |
99 return -- acceptable number | 96 return -- acceptable number |
100 end | 97 end |
101 end | 98 end |
102 | 99 |