diff --git a/ltable.c b/ltable.c index 35a7eec8..c875d189 100644 --- a/ltable.c +++ b/ltable.c @@ -1,5 +1,5 @@ /* -** $Id: ltable.c,v 1.15 1998/08/11 16:38:34 roberto Exp roberto $ +** $Id: ltable.c,v 1.16 1998/12/30 13:14:46 roberto Exp $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -223,3 +223,13 @@ TObject *luaH_getint (Hash *t, int ref) { return luaH_get(t, &index); } + +void luaH_move (Hash *t, int from, int to) { + TObject index; + TObject *toadd; + ttype(&index) = LUA_T_NUMBER; + nvalue(&index) = to; + toadd = luaH_set(t, &index); + nvalue(&index) = from; + *toadd = *luaH_get(t, &index); +} diff --git a/ltable.h b/ltable.h index b77cf2a2..87a01f83 100644 --- a/ltable.h +++ b/ltable.h @@ -1,5 +1,5 @@ /* -** $Id: ltable.h,v 1.6 1998/07/12 16:15:19 roberto Exp roberto $ +** $Id: ltable.h,v 1.7 1998/12/30 13:14:46 roberto Exp $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -22,6 +22,7 @@ TObject *luaH_set (Hash *t, TObject *ref); Node *luaH_next (Hash *t, TObject *r); void luaH_setint (Hash *t, int ref, TObject *val); TObject *luaH_getint (Hash *t, int ref); +void luaH_move (Hash *t, int from, int to); #endif