Add initial implementation of types and values.
This commit is contained in:
15
src/value.c
Normal file
15
src/value.c
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "value.h"
|
||||
|
||||
void libab_value_init(libab_value* value, void* data, libab_ref* type) {
|
||||
value->data = data;
|
||||
libab_ref_copy(type, &value->type);
|
||||
}
|
||||
|
||||
void libab_value_free(libab_value* value) {
|
||||
void (*free_function)(void*);
|
||||
libab_type* value_type;
|
||||
libab_ref_free(&value->type);
|
||||
value_type = libab_ref_get(&value->type);
|
||||
free_function = value_type->base->free_function;
|
||||
if(free_function) free_function(value->data);
|
||||
}
|
||||
Reference in New Issue
Block a user