summaryrefslogtreecommitdiff
path: root/indra/newview/scripts/lua/require/printf.lua
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-06-14 12:16:12 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-06-14 12:16:12 -0400
commitf7137765438f149cbae6f3b18da45dce75a25336 (patch)
treea93605eb2f22f97477ee418a1de04d9821713f07 /indra/newview/scripts/lua/require/printf.lua
parentdc91db0b85c5db1c20dccebd64c98419e371a29f (diff)
Move Lua modules for 'require' to indra/newview/scripts/lua/require.
Make viewer_manifest.py copy them into the viewer install image. Make the require() function look for them there.
Diffstat (limited to 'indra/newview/scripts/lua/require/printf.lua')
-rw-r--r--indra/newview/scripts/lua/require/printf.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/scripts/lua/require/printf.lua b/indra/newview/scripts/lua/require/printf.lua
new file mode 100644
index 0000000000..e84b2024df
--- /dev/null
+++ b/indra/newview/scripts/lua/require/printf.lua
@@ -0,0 +1,19 @@
+-- printf(...) is short for print(string.format(...))
+
+local inspect = require 'inspect'
+
+local function printf(format, ...)
+ -- string.format() only handles numbers and strings.
+ -- Convert anything else to string using the inspect module.
+ local args = {}
+ for _, arg in pairs(table.pack(...)) do
+ if type(arg) == 'number' or type(arg) == 'string' then
+ table.insert(args, arg)
+ else
+ table.insert(args, inspect(arg))
+ end
+ end
+ print(string.format(format, table.unpack(args)))
+end
+
+return printf