Restore LUA dialplan ACTIONS functionality
Since using SWIG 2.0 to generate the code, two new items have been pushed on the stack. Use relative stack indices to avoid breakage. FS-8099 #resolve
This commit is contained in:
parent
6f503bdc98
commit
02cc5bcd14
|
@ -591,7 +591,7 @@ SWITCH_STANDARD_DIALPLAN(lua_dialplan_hunt)
|
||||||
|
|
||||||
/* expecting ACTIONS = { {"app1", "app_data1"}, { "app2" }, "app3" } -- each of three is valid */
|
/* expecting ACTIONS = { {"app1", "app_data1"}, { "app2" }, "app3" } -- each of three is valid */
|
||||||
lua_getglobal(L, "ACTIONS");
|
lua_getglobal(L, "ACTIONS");
|
||||||
if (!lua_istable(L, 1)) {
|
if (!lua_istable(L, -1)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR,
|
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR,
|
||||||
"Global variable ACTIONS may only be a table\n");
|
"Global variable ACTIONS may only be a table\n");
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -599,7 +599,7 @@ SWITCH_STANDARD_DIALPLAN(lua_dialplan_hunt)
|
||||||
|
|
||||||
lua_pushnil(L); /* STACK = tab | nil */
|
lua_pushnil(L); /* STACK = tab | nil */
|
||||||
|
|
||||||
while (lua_next(L, 1) != 0) { /* STACK = tab | k1 .. kn | vn */
|
while (lua_next(L, -2) != 0) { /* STACK = tab | k1 .. kn | vn */
|
||||||
char *application = NULL, *app_data = NULL;
|
char *application = NULL, *app_data = NULL;
|
||||||
|
|
||||||
if (lua_isstring(L, -1)) {
|
if (lua_isstring(L, -1)) {
|
||||||
|
|
Loading…
Reference in New Issue