gsl-shell.git - gsl-shell

index : gsl-shell.git
gsl-shell
summary refs log tree commit diff
path: root/object-index.c
diff options
context:
space:
mode:
Diffstat (limited to 'object-index.c')
-rw-r--r--object-index.c 85
1 files changed, 0 insertions, 85 deletions
diff --git a/object-index.c b/object-index.c
deleted file mode 100644
index 4074511c..00000000
--- a/object-index.c
+++ /dev/null
@@ -1,85 +0,0 @@
-
-#include <lua.h>
-#include <lauxlib.h>
-
-#include "object-index.h"
-
-static const char *table_name = "GSL.reg.wins";
-
-void
-object_index_prepare (lua_State *L)
-{
- lua_newtable (L);
- lua_setfield (L, LUA_REGISTRYINDEX, table_name);
-}
-
-int
-object_index_add(lua_State *L, int index)
-{
- int n;
-
- if (index < 0)
- index = lua_gettop (L) - (index+1);
-
- lua_getfield (L, LUA_REGISTRYINDEX, table_name);
-
- n = lua_objlen (L, -1);
-
- lua_pushvalue (L, index);
- lua_rawseti (L, -2, n+1);
- lua_pop (L, 1);
-
- return n+1;
-}
-
-void
-object_index_get (lua_State *L, int id)
-{
- lua_getfield (L, LUA_REGISTRYINDEX, table_name);
- lua_rawgeti (L, -1, id);
- lua_remove (L, -2);
-}
-
-void
-object_index_remove (lua_State *L, int id)
-{
- lua_getfield (L, LUA_REGISTRYINDEX, table_name);
- lua_pushnil (L);
- lua_rawseti (L, -2, id);
- lua_pop (L, 1);
-}
-
-void
-object_index_apply_all (lua_State *L, lua_CFunction f)
-{
- lua_getfield (L, LUA_REGISTRYINDEX, table_name);
-
- lua_pushnil (L); /* first key */
- while (lua_next(L, -2) != 0)
- {
- lua_pushcfunction (L, f);
- lua_insert (L, -2);
- lua_call (L, 1, 0);
- }
-
- lua_pop (L, 1);
-}
-
-int
-object_index_count (lua_State *L)
-{
- int count = 0;
-
- lua_getfield (L, LUA_REGISTRYINDEX, table_name);
-
- lua_pushnil (L); /* first key */
- while (lua_next(L, -2) != 0)
- {
- lua_pop (L, 1);
- count ++;
- }
-
- lua_pop (L, 1);
-
- return count;
-}
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月16日 12:41:43 +0000

AltStyle によって変換されたページ (->オリジナル) /