lua_apr.c revision e0e7a4768845d518c21ce98d359d2ba8314832ba
#include "apr.h"
#include "apr_tables.h"
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
#include "lua_apr.h"
/**
* make a userdata out of a C pointer, and vice versa
* instead of using lightuserdata
*/
#ifndef lua_boxpointer
#define lua_boxpointer(L,u) (*(void **)(lua_newuserdata(L, sizeof(void *))) = (u))
#define lua_unboxpointer(L,i) (*(void **)(lua_touserdata(L, i)))
#endif
return t;
}
lua_boxpointer(L, t);
luaL_getmetatable(L, "Apr.Table");
lua_setmetatable(L, -2);
}
static int lua_table_set(lua_State* L) {
return 0;
}
static int lua_table_get(lua_State* L) {
lua_pushstring(L, val);
return 1;
}
static const luaL_reg lua_table_methods[] = {
{"set", lua_table_set},
{"get", lua_table_get},
{0, 0}
};
luaL_newmetatable(L, "Apr.Table");
lua_pushstring(L, "__index");
lua_pushstring(L, "get");
lua_gettable(L, 2);
lua_settable(L, 1);
lua_pushstring(L, "__newindex");
lua_pushstring(L, "set");
lua_gettable(L, 2);
lua_settable(L, 1);
return 0;
}