FS-11444: Capture return code from `os.execute()`; stop attempting to concat boolean/nil to error string.
os.execute() returns [3
variables](f59e6a93c0/lauxlib.c (L286)
).
Capture the 2nd (e.g. "exit") and 3rd (e.g. 0) in addition to the first
which would be merely `true` on success or `nil` on error.
This commit is contained in:
parent
b5624eca20
commit
5e895b28c7
|
@ -60,15 +60,15 @@ else
|
|||
-- Looks good, let's play some sound files
|
||||
sound_base = session:getVariable('sounds_dir') .. '/en/us/callie/' .. stype .. '/' .. srate;
|
||||
input_file = '/tmp/filez.txt';
|
||||
res = os.execute('ls -1 ' .. sound_base .. ' > ' .. input_file);
|
||||
freeswitch.consoleLog("INFO","Result of system call: " .. res .. "\n");
|
||||
if ( res == 0 ) then
|
||||
res, what, code = os.execute('ls -1 ' .. sound_base .. ' > ' .. input_file);
|
||||
freeswitch.consoleLog("INFO","Result of system call: " .. what .. " " .. code .. "\n");
|
||||
if ( res == true and what == 'exit' and code == 0 ) then
|
||||
for fname in io.lines(input_file) do
|
||||
freeswitch.consoleLog("NOTICE","Playing file: " .. fname .. "\n");
|
||||
session:streamFile(sound_base .. '/' .. fname);
|
||||
session:sleep(100);
|
||||
end
|
||||
else
|
||||
freeswitch.consoleLog("ERR","Result of system call: " .. res .. "\n");
|
||||
freeswitch.consoleLog("ERR","Result of system call: " .. what .. " " .. code .. "\n");
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue