From b00677973e1ad6bf0dd691f4e43fb11f7651f619 Mon Sep 17 00:00:00 2001 From: Wang Renxin Date: Fri, 24 Apr 2015 14:52:14 +0800 Subject: [PATCH] *mb_debug_get allows 'val' to be NULL --- core/my_basic.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/my_basic.c b/core/my_basic.c index 2888c71..c14fa8b 100644 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3953,16 +3953,21 @@ int mb_debug_get(struct mb_interpreter_t* s, const char* n, mb_value_t* val) { int result = MB_FUNC_OK; _ls_node_t* v = 0; _object_t* obj = 0; + mb_value_t tmp; - mb_assert(s && n && val); + mb_assert(s && n); v = _ht_find(s->global_var_dict, (void*)n); if(v) { obj = (_object_t*)(v->data); mb_assert(obj->type == _DT_VAR); - result = _internal_object_to_public_value(obj->data.variable->data, val); + if(val) + result = _internal_object_to_public_value(obj->data.variable->data, val); + else + result = _internal_object_to_public_value(obj->data.variable->data, &tmp); } else { - val->type = MB_DT_NIL; + if(val) + val->type = MB_DT_NIL; result = MB_DEBUG_ID_NOT_FOUND; }