diff --git a/core/my_basic.c b/core/my_basic.c index a6a7072..cf3412d 100644 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3664,7 +3664,8 @@ int mb_pop_value(mb_interpreter_t* s, void** l, mb_value_t* val) { running = (_running_context_t*)(s->running_context); - inep = (int*)_ls_back(running->in_neg_expr)->data; + if(!_ls_empty(running->in_neg_expr)) + inep = (int*)_ls_back(running->in_neg_expr)->data; val_ptr = &val_obj; memset(val_ptr, 0, sizeof(_object_t)); @@ -3681,7 +3682,7 @@ int mb_pop_value(mb_interpreter_t* s, void** l, mb_value_t* val) { _ls_pushback(running->temp_values, val_ptr); } - if(running->no_eat_comma_mark < _NO_EAT_COMMA && !(*inep)) { + if(running->no_eat_comma_mark < _NO_EAT_COMMA && (inep && !(*inep))) { if(ast && ((_object_t*)(ast->data))->type == _DT_SEP && ((_object_t*)(ast->data))->data.separator == ',') { ast = ast->next; }