lualoader: Use cli_execute_unparsed for commands passed in via loader.conf
This applies to: - exec - [module]_before - [module]_error - [module]_after Before this commit, these used loader.perform to execute them as a pure, unsalted loader command. This means that they were not able to take advantage of any Lua-salted loader commands, like boot and autoboot, or pure Lua loader commands (functions attached to the 'cli' module). They now have access to the full arsenal, just shy of being able to execute arbitrary Lua.
This commit is contained in:
parent
4e6bbdd6fe
commit
9ab2d3c5f8
@ -109,7 +109,7 @@ local pattern_table = {
|
||||
{
|
||||
str = "^%s*exec%s*=%s*\"([%w%s%p]-)\"%s*(.*)",
|
||||
process = function(k, _)
|
||||
if loader.perform(k) ~= 0 then
|
||||
if cli_execute_unparsed(k) ~= 0 then
|
||||
print(MSG_FAILEXEC:format(k))
|
||||
end
|
||||
end,
|
||||
@ -290,25 +290,25 @@ function config.loadmod(mod, silent)
|
||||
str = str .. k
|
||||
end
|
||||
if v.before ~= nil then
|
||||
pstatus = loader.perform(v.before) == 0
|
||||
pstatus = cli_execute_unparsed(v.before) == 0
|
||||
if not pstatus and not silent then
|
||||
print(MSG_FAILEXBEF:format(v.before, k))
|
||||
end
|
||||
status = status and pstatus
|
||||
end
|
||||
|
||||
if loader.perform(str) ~= 0 then
|
||||
if cli_execute_unparsed(str) ~= 0 then
|
||||
if not silent then
|
||||
print(MSG_FAILEXMOD:format(str))
|
||||
end
|
||||
if v.error ~= nil then
|
||||
loader.perform(v.error)
|
||||
cli_execute_unparsed(v.error)
|
||||
end
|
||||
status = false
|
||||
end
|
||||
|
||||
if v.after ~= nil then
|
||||
pstatus = loader.perform(v.after) == 0
|
||||
pstatus = cli_execute_unparsed(v.after) == 0
|
||||
if not pstatus and not silent then
|
||||
print(MSG_FAILEXAF:format(v.after, k))
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user