From 30bc567bd6c445516b9f9330e8110b78330a443a Mon Sep 17 00:00:00 2001 From: lyon Date: Thu, 9 Feb 2023 23:11:14 +0800 Subject: [PATCH] fix n_used restore test --- port/linux/.vscode/launch.json | 2 +- src/PikaVM.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/port/linux/.vscode/launch.json b/port/linux/.vscode/launch.json index 17e349d62..cf65035b8 100644 --- a/port/linux/.vscode/launch.json +++ b/port/linux/.vscode/launch.json @@ -11,7 +11,7 @@ "program": "${workspaceFolder}/build/test/pikascript_test", // "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain", "args": [ - // "--gtest_filter=vm.ui_page" + "--gtest_filter=network.config" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", diff --git a/src/PikaVM.c b/src/PikaVM.c index ae64cb8b8..2ca5137ea 100644 --- a/src/PikaVM.c +++ b/src/PikaVM.c @@ -1132,11 +1132,11 @@ static void _load_call_arg(VMState* vm, (f->n_positional_got)++; } -static int _get_n_input_with_unpack(VMState* vm) { +static int _get_n_input_with_unpack(VMState* vm, int n_used) { #if PIKA_NANO_ENABLE return VMState_getInputArgNum(vm); #else - int n_input = VMState_getInputArgNum(vm); + int n_input = VMState_getInputArgNum(vm) - n_used; int get_star = 0; int unpack_num = 0; for (int i = 0; i < n_input; i++) { @@ -1268,7 +1268,7 @@ static int VMState_loadArgsFromMethodArg(VMState* vm, f.n_positional--; } - f.n_input = _get_n_input_with_unpack(vm); + f.n_input = _get_n_input_with_unpack(vm, n_used); /* check arg num */ if (f.method_type == ARG_TYPE_METHOD_NATIVE_CONSTRUCTOR || @@ -1306,7 +1306,7 @@ static int VMState_loadArgsFromMethodArg(VMState* vm, } if (vars_or_keys_or_default) { - f.n_arg = f.n_input - n_used; + f.n_arg = f.n_input; } else { f.n_arg = f.n_positional; }