Merge branch 'master' into docs

This commit is contained in:
samsonium
2026-10-19 20:11:53 +03:00
14 changed files with 298 additions and 153 deletions
+11 -2
View File
@@ -34,7 +34,7 @@ run_args_t *parse_args(int argc, char **argv)
args->help = false;
args->debug = false;
for (size_t i = 0; i < argc; i++)
for (int i = 0; i < argc; i++)
{
if (argv[i][0] != '-')
continue;
@@ -50,6 +50,7 @@ run_args_t *parse_args(int argc, char **argv)
{
printf("Error: unknown flag '%s'.\n", argv[i]);
printf("Use 'fz --help' to read the usage\n");
free(args);
return NULL;
}
}
@@ -58,6 +59,7 @@ run_args_t *parse_args(int argc, char **argv)
{
printf("Error: last argument MUST be a file path\n");
printf("Use 'fz --help' for help\n");
free(args);
return NULL;
}
@@ -74,6 +76,7 @@ int main(int argc, char **argv)
else if (args->help)
{
print_hint();
free(args);
return 0;
}
@@ -81,6 +84,7 @@ int main(int argc, char **argv)
if (!vm)
{
printf("Error: %s\n", fzl_vm_geterror());
free(args);
return -1;
}
@@ -91,7 +95,12 @@ int main(int argc, char **argv)
int result = fzl_vm_run(vm);
if (result != 0)
{
printf("Error: %s\n", fzl_vm_geterror());
char *err = fzl_vm_geterror();
if (err && err[0])
printf("Error: %s\n", err);
free(args);
fzl_freevm(vm);
return -1;
}
}