diff --git a/ltable.c b/ltable.c index aaf9f16e..91556b78 100644 --- a/ltable.c +++ b/ltable.c @@ -1,5 +1,5 @@ /* -** $Id: ltable.c,v 1.11 1998/01/13 18:06:27 roberto Exp roberto $ +** $Id: ltable.c,v 1.12 1998/01/28 16:50:33 roberto Exp roberto $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -162,7 +162,7 @@ TObject *luaH_get (Hash *t, TObject *ref) { int h = present(t, ref); if (ttype(ref(node(t, h))) != LUA_T_NIL) return val(node(t, h)); - else return NULL; + else return &luaO_nilobject; } @@ -214,3 +214,20 @@ Node *luaH_next (TObject *o, TObject *r) return hashnext(t, i+1); } } + + +void luaH_setint (Hash *t, int ref, TObject *val) { + TObject index; + ttype(&index) = LUA_T_NUMBER; + nvalue(&index) = ref; + *(luaH_set(t, &index)) = *val; +} + + +TObject *luaH_getint (Hash *t, int ref) { + TObject index; + ttype(&index) = LUA_T_NUMBER; + nvalue(&index) = ref; + return luaH_get(t, &index); +} + diff --git a/ltable.h b/ltable.h index 06cf17c3..292e1e55 100644 --- a/ltable.h +++ b/ltable.h @@ -1,5 +1,5 @@ /* -** $Id: ltable.h,v 1.4 1997/11/19 17:29:23 roberto Exp roberto $ +** $Id: ltable.h,v 1.5 1997/11/26 18:53:45 roberto Exp roberto $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -20,5 +20,8 @@ void luaH_free (Hash *frees); TObject *luaH_get (Hash *t, TObject *ref); TObject *luaH_set (Hash *t, TObject *ref); Node *luaH_next (TObject *o, TObject *r); +void luaH_setint (Hash *t, int ref, TObject *val); +TObject *luaH_getint (Hash *t, int ref); + #endif