From 61501884bf45014db1822b6231c06b6e0e6c00d2 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Tue, 26 Jan 2016 18:28:20 +0800 Subject: [PATCH] *fixed a wrong argument processing bug with variable arguments. --- HISTORY | 1 + core/my_basic.c | 10 +++++++--- output/my_basic.exe | Bin 357888 -> 357888 bytes shell/main.c | 2 ++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 5846a22..74bbe77 100755 --- a/HISTORY +++ b/HISTORY @@ -3,6 +3,7 @@ Added an mb_gc function Added a SET_IMPORTING_DIRS statement to the shell Added friendly error promption when memory overflow Added source file information to stepped handler +Fixed a wrong argument processing bug with variable arguments Fixed a memory corruption bug with importing directory setting Optimized cached list accessing diff --git a/core/my_basic.c b/core/my_basic.c index 0a10645..157af20 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3468,6 +3468,7 @@ int _pop_arg(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned ca, u int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg, bool_t proc_ref, _ls_node_t* args) { /* Process arguments of a routine */ int result = MB_FUNC_OK; + _ls_node_t* ast = 0; _ls_node_t* parameters = 0; mb_value_t arg; _ls_node_t* pars = 0; @@ -3519,6 +3520,7 @@ int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, if(args && _ls_empty(args)) break; } + if(_IS_VAR_ARGS(var)) { if(has_arg && !var_args && _IS_VAR_ARGS(var)) var_args = s->var_args = _ls_create(); @@ -3538,9 +3540,11 @@ int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, break; } } - if(_IS_VAR_ARGS(var)) { - if(args) { - _ls_node_t* ast = *l; + + ast = *l; + if(ast) { + _object_t* obj = (_object_t*)ast->data; + if(obj && _IS_FUNC(obj, _core_args)) { if(ast) ast = ast->next; *l = ast; } diff --git a/output/my_basic.exe b/output/my_basic.exe index 6756c68feea03bb2b8af4a0e7565b120d956d118..71a430df21f0640c62e2e91667f3ea489523d434 100755 GIT binary patch delta 19683 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 D(UM}% diff --git a/shell/main.c b/shell/main.c index a2dac22..8df7a10 100755 --- a/shell/main.c +++ b/shell/main.c @@ -657,6 +657,8 @@ static int _new_program(void) { result = mb_reset(&bas, false); + mb_gc(bas, 0); + _tidy_mem_pool(true); return result;