equal
deleted
inserted
replaced
24 |
24 |
25 #define LLM_BLESS(WHAT, LWHAT, TYPE) \ |
25 #define LLM_BLESS(WHAT, LWHAT, TYPE) \ |
26 llm_##WHAT##_t *bless_lm_##WHAT (lua_State *L, TYPE *WHAT) \ |
26 llm_##WHAT##_t *bless_lm_##WHAT (lua_State *L, TYPE *WHAT) \ |
27 { \ |
27 { \ |
28 llm_##WHAT##_t *object; /* top of stack */ \ |
28 llm_##WHAT##_t *object; /* top of stack */ \ |
29 lua_pushstring (L, LLM_OBJREGISTRY); /* 1 registry table name */ \ |
29 lua_pushliteral (L, LLM_OBJREGISTRY); /* 1 registry table name */ \ |
30 lua_rawget (L, LUA_REGISTRYINDEX); /* 1 registry table */ \ |
30 lua_rawget (L, LUA_REGISTRYINDEX); /* 1 registry table */ \ |
31 lua_pushlightuserdata (L, WHAT); /* 2 light userdata */ \ |
31 lua_pushlightuserdata (L, WHAT); /* 2 light userdata */ \ |
32 lua_rawget (L, -2); /* 2 object/nil */ \ |
32 lua_rawget (L, -2); /* 2 object/nil */ \ |
33 if (!lua_isnil (L, -1)) { /* 2 object */ \ |
33 if (!lua_isnil (L, -1)) { /* 2 object */ \ |
34 lua_remove (L, -2); /* 1 object */ \ |
34 lua_remove (L, -2); /* 1 object */ \ |