diff options
| author | shuax <[email protected]> | 2022-03-30 08:13:14 +0800 |
|---|---|---|
| committer | shuax <[email protected]> | 2022-03-30 08:13:14 +0800 |
| commit | 009c4ed10212b3fe2df9ad49e3c2d23ced439d13 (patch) | |
| tree | e1b91c7f97e3dd247253ce93688061ad19a94406 /core/src | |
| parent | 3a23627b396e789ffd0e513a9955231174ff6d35 (diff) | |
fix bug
Diffstat (limited to 'core/src')
| -rw-r--r-- | core/src/xmake/winos/registry_query.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/core/src/xmake/winos/registry_query.c b/core/src/xmake/winos/registry_query.c index c0803c6a7..3116d9ebd 100644 --- a/core/src/xmake/winos/registry_query.c +++ b/core/src/xmake/winos/registry_query.c @@ -61,6 +61,7 @@ tb_int_t xm_winos_registry_query(lua_State* lua) HKEY keynew = tb_null; tb_char_t* value = tb_null; tb_wchar_t* value_w = tb_null; + tb_size_t value_n = (tb_size_t)-1; do { // get registry rootkey @@ -136,6 +137,14 @@ tb_int_t xm_winos_registry_query(lua_State* lua) lua_pushfstring(lua, "get registry value failed: %s\\%s;%s", rootkey, rootdir, valuename); break; } + + value_n = tb_wtoa(valuename_w, value, valuesize + 1); + if (value_n == (tb_size_t)-1) + { + lua_pushnil(lua); + lua_pushfstring(lua, "get registry value failed: %s\\%s;%s", rootkey, rootdir, valuename); + break; + } } else { @@ -170,14 +179,14 @@ tb_int_t xm_winos_registry_query(lua_State* lua) lua_pushfstring(lua, "get registry value failed: %s\\%s;%s", rootkey, rootdir, valuename); break; } - } - tb_size_t value_n = tb_wtoa(valuename_w, value, valuesize + 1); - if (value_n == (tb_size_t)-1) - { - lua_pushnil(lua); - lua_pushfstring(lua, "get registry value failed: %s\\%s;%s", rootkey, rootdir, valuename); - break; + value_n = tb_wtoa(valuename_w, value, valuesize + 1); + if (value_n == (tb_size_t)-1) + { + lua_pushnil(lua); + lua_pushfstring(lua, "get registry value failed: %s\\%s;%s", rootkey, rootdir, valuename); + break; + } } // save result |
