]> granicus.if.org Git - apache/commitdiff
Switch from lua_objlen() to Lua 5.2 preferred
authorRainer Jung <rjung@apache.org>
Tue, 22 Jul 2014 11:57:06 +0000 (11:57 +0000)
committerRainer Jung <rjung@apache.org>
Tue, 22 Jul 2014 11:57:06 +0000 (11:57 +0000)
lua_rawlen(). Define lua_rawlen() in terms of
lua_objlen() when building against older Lua.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1612552 13f79535-47bb-0310-9956-ffa450edef68

modules/lua/lua_request.c
modules/lua/mod_lua.h

index ff3d43436d78cd8f4ea023179cab138a691b13a7..4f9dca8ff1cc11ee59e69ee7148c7571ea344d09 100644 (file)
@@ -149,7 +149,7 @@ static int req_aprtable2luatable_cb(void *l, const char *key,
         }
     case LUA_TTABLE:{
             /* [array, table<s,t>, table<s,s>] */
-            int size = lua_objlen(L, -1);
+            int size = lua_rawlen(L, -1);
             lua_pushnumber(L, size + 1);        /* [#, array, table<s,t>, table<s,s>] */
             lua_pushstring(L, value);   /* [string, #, array, table<s,t>, table<s,s>] */
             lua_settable(L, -3);        /* [array, table<s,t>, table<s,s>] */
@@ -198,7 +198,7 @@ static int req_aprtable2luatable_cb_len(void *l, const char *key,
         }
     case LUA_TTABLE:{
             /* [array, table<s,t>, table<s,s>] */
-            int size = lua_objlen(L, -1);
+            int size = lua_rawlen(L, -1);
             lua_pushnumber(L, size + 1);        /* [#, array, table<s,t>, table<s,s>] */
             lua_pushlstring(L, value, len);   /* [string, #, array, table<s,t>, table<s,s>] */
             lua_settable(L, -3);        /* [array, table<s,t>, table<s,s>] */
index 5b422ed54ac0d61d47c164a660134900d52dfe84..d3cf2e9c7c96c554db6d4f985e599795ebf8555f 100644 (file)
@@ -52,6 +52,8 @@
 /* Load mode for lua_load() */
 #define lua_load(a,b,c,d) lua_load(a,b,c,d,NULL)
 #define lua_resume(a,b)   lua_resume(a, NULL, b)
+#else
+#define lua_rawlen(L,i)   lua_objlen(L, (i))
 #endif
 
 /* Create a set of AP_LUA_DECLARE(type), AP_LUA_DECLARE_NONSTD(type) and