2 Commits
Author SHA1 Message Date
samsonium 2488e9fb07 fix: add loaded symbols count increment 2026-11-08 17:26:46 +03:00
samsonium 899c22eece ref: move extern fns prepare into main 2026-11-08 17:26:32 +03:00
3 changed files with 9 additions and 10 deletions
-9
View File
@@ -8,7 +8,6 @@
#include <string.h>
#include <vm/fzl_vm.h>
#include <vm/fzl_vm_env.h>
#include <vm/fzl_vm_extern.h>
#include <vm/fzl_vm_object.h>
#include <vm/fzl_vm_reader.h>
#include <vm/internals/opcode.h>
@@ -36,14 +35,6 @@ fzl_vm_t *fzl_mkvm(fzl_vm_reader_t *reader)
memset(vm, 0, sizeof(fzl_vm_t));
vm->reader = reader;
vm->prep_fns = fzl_vm_init_externs(reader);
if (!vm->prep_fns)
{
char *err = fzl_vm_externs_geterror();
strcpy(last_err, err);
return NULL;
}
return vm;
}
+1 -1
View File
@@ -188,7 +188,7 @@ fzl_vm_extern_t *fzl_vm_init_externs(fzl_vm_reader_t *reader)
return NULL;
}
if (!prepare_sym(reader, sym, fn, &ex->syms[i]))
if (!prepare_sym(reader, sym, fn, &ex->syms[ex->syms_loaded++]))
{
if (!ex_err[0])
{
+8
View File
@@ -6,6 +6,7 @@
#include <stdlib.h>
#include <string.h>
#include <vm/fzl_vm.h>
#include <vm/fzl_vm_extern.h>
#include <vm/fzl_vm_reader.h>
typedef struct
@@ -140,6 +141,13 @@ int main(int argc, char **argv)
return -1;
}
vm->prep_fns = fzl_vm_init_externs(reader);
if (!vm->prep_fns)
{
printf("%sError%s: %s\n", FZL_CERROR, FZL_CRST, fzl_vm_externs_geterror());
return -1;
}
vm->allow_infinite = args->allow_infinite;
vm->max_iter = args->max_iter;