diff options
author | Kinsey Moore <kmoore@digium.com> | 2014-01-08 16:34:24 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2014-01-08 16:34:24 +0000 |
commit | 537f4a9dacc066893dad17a8a96c450de48abbdb (patch) | |
tree | ec14ea88c330d9b0f7ef967d139c24c1f5944b34 /pbx | |
parent | 522593f901baff3f1ba334ecaad9eefd6a9c9316 (diff) |
pbx_lua: Add support for Lua 5.2
This adds support for Lua 5.2 in pbx_lua which is available on newer
operating systems.
(closes issue ASTERISK-23011)
Review: https://reviewboard.asterisk.org/r/3075/
Reported by: George Joseph
Patch by: George Joseph
........
Merged revisions 405090 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 405091 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 405124 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@405130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx')
-rw-r--r-- | pbx/pbx_lua.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pbx/pbx_lua.c b/pbx/pbx_lua.c index f429a4a25..c4492c7e5 100644 --- a/pbx/pbx_lua.c +++ b/pbx/pbx_lua.c @@ -872,8 +872,11 @@ static int lua_sort_extensions(lua_State *L) * table in the extensions_order table */ for (lua_pushnil(L); lua_next(L, context); lua_pop(L, 1)) { int exten = lua_gettop(L) - 1; - +#if LUA_VERSION_NUM < 502 lua_pushinteger(L, lua_objlen(L, context_order) + 1); +#else + lua_pushinteger(L, lua_rawlen(L, context_order) + 1); +#endif lua_pushvalue(L, exten); lua_settable(L, context_order); } @@ -1505,9 +1508,13 @@ static int lua_find_extension(lua_State *L, const char *context, const char *ext lua_remove(L, -2); /* remove the extensions order table */ context_order_table = lua_gettop(L); - + /* step through the extensions looking for a match */ +#if LUA_VERSION_NUM < 502 for (i = 1; i < lua_objlen(L, context_order_table) + 1; i++) { +#else + for (i = 1; i < lua_rawlen(L, context_order_table) + 1; i++) { +#endif int e_index_copy, match = 0; const char *e; |