From: Brendan Hansen Date: Thu, 9 Sep 2021 14:15:02 +0000 (-0500) Subject: bugfix with untyped arguments X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=1c9bee17772dab5d8f4dd04a2082fdacf72aa9f4;p=onyx.git bugfix with untyped arguments --- diff --git a/bin/onyx b/bin/onyx index 0dd04a8b..bab7229b 100755 Binary files a/bin/onyx and b/bin/onyx differ diff --git a/modules/js_events/js_events.js b/modules/js_events/js_events.js index fe0d0fb7..2679c3e2 100644 --- a/modules/js_events/js_events.js +++ b/modules/js_events/js_events.js @@ -171,7 +171,7 @@ window.ONYX_MODULES.push({ WASM_U8.set(u8_data, bufferptr); - if (namelen >= file_data.name.length) { + if (nameptr != 0 && namelen <= file_data.name.length) { var name_data = new TextEncoder().encode(file_data.name); WASM_U8.set(name_data, nameptr); } diff --git a/src/utils.c b/src/utils.c index 2b2feb1f..fe4722c6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -846,6 +846,14 @@ b32 check_arguments_against_type(Arguments* args, TypeFunction* func_type, VarAr if (variadic_type->id == any_type_id) { resolve_expression_type(arg_arr[arg_pos]->value); + if (arg_arr[arg_pos]->value->type == NULL) { + if (error != NULL) { + error->pos = arg_arr[arg_pos]->token->pos; + error->text = "Unable to resolve type of argument."; + } + return 0; + } + arg_arr[arg_pos]->va_kind = VA_Kind_Any; break; }