1.1 --- a/librazor/lua.c Wed Jun 03 08:26:09 2009 +0100
1.2 +++ b/librazor/lua.c Mon Sep 28 17:37:12 2009 +0100
1.3 @@ -368,7 +368,7 @@
1.4 }
1.5
1.6 int run_lua_script(const char *root, const char *name, const char *body,
1.7 - ssize_t len)
1.8 + ssize_t len, int arg1)
1.9 {
1.10 int i, n;
1.11 lua_State *L;
1.12 @@ -428,6 +428,20 @@
1.13 return -1;
1.14 }
1.15
1.16 + lua_newtable(L);
1.17 + lua_pushvalue(L, LUA_GLOBALSINDEX);
1.18 + lua_pushliteral(L, "arg");
1.19 + lua_pushvalue(L, -3);
1.20 + lua_rawset(L, -3);
1.21 + lua_pop(L, 1);
1.22 + lua_pushliteral(L, "<lua>");
1.23 + lua_rawseti(L, -2, 1);
1.24 + if (arg1 >= 0) {
1.25 + lua_pushinteger(L, arg1);
1.26 + lua_rawseti(L, -2, 2);
1.27 + }
1.28 + lua_pop(L, 1);
1.29 +
1.30 if (lua_pcall(L, 0, 0, 0)) {
1.31 fprintf(stderr, "lua script failed: %s\n", lua_tostring(L, -1));
1.32 lua_pop(L, 1);