+added a redir
parameter to mb_get_var
.
This commit is contained in:
parent
80ff6f9c34
commit
d57266910f
Binary file not shown.
@ -13141,7 +13141,7 @@ _exit:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get a token literally, store it in an argument if it's a variable */
|
/* Get a token literally, store it in an argument if it's a variable */
|
||||||
int mb_get_var(struct mb_interpreter_t* s, void** l, void** v) {
|
int mb_get_var(struct mb_interpreter_t* s, void** l, void** v, bool_t redir) {
|
||||||
int result = MB_FUNC_OK;
|
int result = MB_FUNC_OK;
|
||||||
_ls_node_t* ast = 0;
|
_ls_node_t* ast = 0;
|
||||||
_object_t* obj = 0;
|
_object_t* obj = 0;
|
||||||
@ -13166,8 +13166,10 @@ int mb_get_var(struct mb_interpreter_t* s, void** l, void** v) {
|
|||||||
|
|
||||||
if(obj && obj->type == _DT_VAR) {
|
if(obj && obj->type == _DT_VAR) {
|
||||||
#ifdef MB_ENABLE_CLASS
|
#ifdef MB_ENABLE_CLASS
|
||||||
if(obj->data.variable->pathing)
|
if(redir && obj->data.variable->pathing)
|
||||||
_search_var_in_scope_chain(s, obj->data.variable, &obj);
|
_search_var_in_scope_chain(s, obj->data.variable, &obj);
|
||||||
|
#else /* MB_ENABLE_CLASS */
|
||||||
|
mb_unrefvar(redir);
|
||||||
#endif /* MB_ENABLE_CLASS */
|
#endif /* MB_ENABLE_CLASS */
|
||||||
if(v)
|
if(v)
|
||||||
*v = obj;
|
*v = obj;
|
||||||
@ -16737,7 +16739,7 @@ static int _core_lambda(mb_interpreter_t* s, void** l) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_mb_check_mark_exit(mb_get_var(s, l, &v), result, _error);
|
_mb_check_mark_exit(mb_get_var(s, l, &v, true), result, _error);
|
||||||
|
|
||||||
if(!v || ((_object_t*)v)->type != _DT_VAR) {
|
if(!v || ((_object_t*)v)->type != _DT_VAR) {
|
||||||
_handle_error_on_obj(s, SE_RN_INVALID_LAMBDA, s->source_file, DON2(l), MB_FUNC_ERR, _error, result);
|
_handle_error_on_obj(s, SE_RN_INVALID_LAMBDA, s->source_file, DON2(l), MB_FUNC_ERR, _error, result);
|
||||||
|
@ -617,7 +617,7 @@ MBAPI int mb_set_class_userdata(struct mb_interpreter_t* s, void** l, void* d);
|
|||||||
|
|
||||||
MBAPI int mb_get_value_by_name(struct mb_interpreter_t* s, void** l, const char* n, mb_value_t* val);
|
MBAPI int mb_get_value_by_name(struct mb_interpreter_t* s, void** l, const char* n, mb_value_t* val);
|
||||||
MBAPI int mb_add_var(struct mb_interpreter_t* s, void** l, const char* n, mb_value_t val, bool_t force);
|
MBAPI int mb_add_var(struct mb_interpreter_t* s, void** l, const char* n, mb_value_t val, bool_t force);
|
||||||
MBAPI int mb_get_var(struct mb_interpreter_t* s, void** l, void** v);
|
MBAPI int mb_get_var(struct mb_interpreter_t* s, void** l, void** v, bool_t redir);
|
||||||
MBAPI int mb_get_var_name(struct mb_interpreter_t* s, void* v, char** n);
|
MBAPI int mb_get_var_name(struct mb_interpreter_t* s, void* v, char** n);
|
||||||
MBAPI int mb_get_var_value(struct mb_interpreter_t* s, void* v, mb_value_t* val);
|
MBAPI int mb_get_var_value(struct mb_interpreter_t* s, void* v, mb_value_t* val);
|
||||||
MBAPI int mb_set_var_value(struct mb_interpreter_t* s, void* v, mb_value_t val);
|
MBAPI int mb_set_var_value(struct mb_interpreter_t* s, void* v, mb_value_t val);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user