From d377b707b67b477ee5b22b08c714be34f3e82aa3 Mon Sep 17 00:00:00 2001 From: sanine-a Date: Fri, 7 Apr 2023 13:59:47 -0500 Subject: switch to cargs and remove honeysuckle --- src/honeysuckle/hs_create_table.c | 123 -------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 src/honeysuckle/hs_create_table.c (limited to 'src/honeysuckle/hs_create_table.c') diff --git a/src/honeysuckle/hs_create_table.c b/src/honeysuckle/hs_create_table.c deleted file mode 100644 index 422a480..0000000 --- a/src/honeysuckle/hs_create_table.c +++ /dev/null @@ -1,123 +0,0 @@ -#include - -#include "honeysuckle.h" - -static void push_value(lua_State *L, hs_type type, hs_value value) -{ - switch (type) { - case HS_BOOL: - lua_pushboolean(L, value.boolean); - break; - - case HS_INT: - lua_pushinteger(L, value.integer); - break; - - case HS_NUM: - lua_pushnumber(L, value.number); - break; - - case HS_STR: - lua_pushstring(L, value.string); - break; - - case HS_TBL: - lua_pushvalue(L, value.stack_index); - break; - - case HS_FUNC: - lua_pushvalue(L, value.stack_index); - break; - - case HS_CFUNC: - lua_pushcfunction(L, value.function); - break; - - case HS_USER: - lua_pushvalue(L, value.stack_index); - break; - - case HS_LIGHT: - lua_pushlightuserdata(L, value.userdata); - break; - - default: - hs_throw_error(L, "attempted to push data of invalid type %d", type); - break; - } -} - - -static inline bool poppable(hs_type type) -{ - if (type == HS_TBL || - type == HS_FUNC || - type == HS_USER) { - return true; - } - return false; -} - - -static void print_stack(lua_State *L) -{ - printf("stack: %d [", lua_gettop(L)); - for (int i=0; ikey_type, e->key); - // print_stack(L); - push_value(L, e->value_type, e->value); - // print_stack(L); - lua_rawset(L, index); - // print_stack(L); - } - - int n_poppable = 0; - int pop_indices[n_elements]; - - for (int i=0; ikey_type)) - pop_indices[n_poppable++] = e->key.stack_index; - if (poppable(e->value_type)) - pop_indices[n_poppable++] = e->value.stack_index; - } - - // printf("cleaning up\n"); - - qsort(pop_indices, n_poppable, sizeof(int), descending); - for (int i=0; i