mie: implement value cleanup

This commit is contained in:
2025-04-13 19:25:23 +01:00
parent 44aec9a121
commit a7233a6cf6
6 changed files with 102 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
#include <mie/const.h>
#include <mie/value.h>
#include <stdlib.h>
extern const struct mie_value_type module_value_type;
extern const struct mie_value_type type_value_type;
@@ -32,7 +33,15 @@ void mie_value_init(struct mie_value *val, enum mie_value_type_id type)
void mie_value_destroy(struct mie_value *val)
{
/* TODO cleanup value */
if (val->v_type && val->v_type->t_cleanup) {
val->v_type->t_cleanup(val);
}
if (val->v_name.n_str) {
free(val->v_name.n_str);
}
free(val);
}
struct mie_type *mie_value_get_type(struct mie_value *val)