Put free functions into common header / source file.

This commit is contained in:
2018-06-15 20:38:19 -07:00
parent 1158b29c1b
commit 695fbed235
6 changed files with 89 additions and 41 deletions

View File

@@ -5,29 +5,16 @@
#include "util.h"
#include "value.h"
#include <stdlib.h>
#include "free_functions.h"
void _free_function_list(void* function_list) {
libab_function_list_free(function_list);
free(function_list);
}
static libab_basetype _basetype_function_list = {_free_function_list, NULL, 0};
void _free_function(void* function) {
libab_function_free(function);
free(function);
}
static libab_basetype _basetype_function_list = {free_function_list, NULL, 0};
static libab_basetype_param _basetype_function_params[] = {{BT_LIST, NULL}};
static libab_basetype _basetype_function = {_free_function,
static libab_basetype _basetype_function = {free_function,
_basetype_function_params, 1};
void _free_unit(void* unit) {
}
static libab_basetype _basetype_unit = { _free_unit, NULL, 0 };
static libab_basetype _basetype_unit = { free_unit, NULL, 0 };
libab_result _prepare_types(libab* ab, void (*free_function)(void*));
@@ -167,7 +154,7 @@ libab_result _create_value_function_internal(libab_ref* into, libab_ref* type,
libab_ref* scope) {
libab_ref function_ref;
libab_result result =
libab_create_function_internal(&function_ref, _free_function, func, scope);
libab_create_function_internal(&function_ref, free_function, func, scope);
libab_ref_null(into);
if (result == LIBAB_SUCCESS) {
libab_ref_free(into);