diff -r ea743486ba6f -r 590b9e4d837d librazor/lua.c --- a/librazor/lua.c Wed Jun 03 08:26:09 2009 +0100 +++ b/librazor/lua.c Thu Jul 09 00:01:18 2009 +0100 @@ -368,7 +368,7 @@ } int run_lua_script(const char *root, const char *name, const char *body, - ssize_t len) + ssize_t len, int arg1) { int i, n; lua_State *L; @@ -428,6 +428,20 @@ return -1; } + lua_newtable(L); + lua_pushvalue(L, LUA_GLOBALSINDEX); + lua_pushliteral(L, "arg"); + lua_pushvalue(L, -3); + lua_rawset(L, -3); + lua_pop(L, 1); + lua_pushliteral(L, ""); + lua_rawseti(L, -2, 1); + if (arg1 >= 0) { + lua_pushinteger(L, arg1); + lua_rawseti(L, -2, 2); + } + lua_pop(L, 1); + if (lua_pcall(L, 0, 0, 0)) { fprintf(stderr, "lua script failed: %s\n", lua_tostring(L, -1)); lua_pop(L, 1);