fix: missing freeing and type (in CIF prepare)
This commit is contained in:
@@ -45,6 +45,12 @@ ffi_type *resolve_type(fzl_vm_reader_t *reader, fzl_extern_type_ref_t *ref)
|
|||||||
case FZL_TYPE_UINT64:
|
case FZL_TYPE_UINT64:
|
||||||
return &ffi_type_uint64;
|
return &ffi_type_uint64;
|
||||||
|
|
||||||
|
case FZL_TYPE_INT:
|
||||||
|
return &ffi_type_sint;
|
||||||
|
|
||||||
|
case FZL_TYPE_UINT:
|
||||||
|
return &ffi_type_uint;
|
||||||
|
|
||||||
case FZL_TYPE_CHAR:
|
case FZL_TYPE_CHAR:
|
||||||
return &ffi_type_schar;
|
return &ffi_type_schar;
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,11 @@ int main(int argc, char **argv)
|
|||||||
if (!vm->prep_fns)
|
if (!vm->prep_fns)
|
||||||
{
|
{
|
||||||
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_vm_externs_geterror());
|
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_vm_externs_geterror());
|
||||||
|
|
||||||
|
free(args);
|
||||||
fzl_vm_free_externs(vm->prep_fns);
|
fzl_vm_free_externs(vm->prep_fns);
|
||||||
|
fzl_vm_freereader(reader);
|
||||||
|
fzl_freevm(vm);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
extern "math" {
|
extern "libmath" {
|
||||||
fn double_num(int num) int;
|
fn double_num(int num) int;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user