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:
Peter Wu 2015-08-30 22:30:32 +02:00 committed by Michael Jerris
parent 6f503bdc98
commit 02cc5bcd14
1 changed files with 2 additions and 2 deletions

View File

@ -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)) {