lm_types.c
changeset 19 d775d7289fe4
parent 12 63f06a23c235
child 23 13f03e604c8a
equal deleted inserted replaced
18:6effa1929af7 19:d775d7289fe4
    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 */ \