mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-12-02 12:08:16 +08:00
improve system_info
This commit is contained in:
parent
f3ea5d7799
commit
66d4ccd0b0
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
2021/11/08
|
2021/11/08
|
||||||
* 优化OpenGL每次全屏clear的逻辑(感谢智明提供补丁)。
|
* 优化OpenGL每次全屏clear的逻辑(感谢智明提供补丁)。
|
||||||
|
* 增加查询上一级目录的资源逻辑(感谢智明提供补丁)。
|
||||||
* fscript 中变量名以英文点开头时报错并将其直接当做字符串处理(感谢雨欣提供补丁)
|
* fscript 中变量名以英文点开头时报错并将其直接当做字符串处理(感谢雨欣提供补丁)
|
||||||
* 修复tab\_button\_group由小变大后无法复原子控 件的位置的问题(感谢智明提供补丁)。
|
* 修复tab\_button\_group由小变大后无法复原子控 件的位置的问题(感谢智明提供补丁)。
|
||||||
|
|
||||||
|
@ -88,17 +88,19 @@ static ret_t system_info_normalize_app_root_try_default(system_info_t* info,
|
|||||||
return RET_FAIL;
|
return RET_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ret_t system_info_normalize_app_root_try_path(system_info_t* info, char* path) {
|
static ret_t system_info_normalize_app_root_try_path(system_info_t* info, char* path, bool_t ignore_bin) {
|
||||||
char* last = NULL;
|
char* last = NULL;
|
||||||
char app_root[MAX_PATH + 1] = {0};
|
char app_root[MAX_PATH + 1] = {0};
|
||||||
|
|
||||||
log_debug("try %s\n", path);
|
log_debug("try %s\n", path);
|
||||||
|
if (!ignore_bin) {
|
||||||
last = strrchr(path, TK_PATH_SEP);
|
last = strrchr(path, TK_PATH_SEP);
|
||||||
if (last != NULL) {
|
if (last != NULL) {
|
||||||
if (tk_str_eq(last + 1, "bin")) {
|
if (tk_str_eq(last + 1, "bin")) {
|
||||||
*last = '\0';
|
*last = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!app_root_is_valid(path)) {
|
if (!app_root_is_valid(path)) {
|
||||||
path_build(app_root, MAX_PATH, path, "res", NULL);
|
path_build(app_root, MAX_PATH, path, "res", NULL);
|
||||||
@ -123,7 +125,7 @@ static ret_t system_info_normalize_app_root_try_cwd(system_info_t* info) {
|
|||||||
char path[MAX_PATH + 1] = {0};
|
char path[MAX_PATH + 1] = {0};
|
||||||
return_value_if_fail(path_cwd(path) == RET_OK, RET_FAIL);
|
return_value_if_fail(path_cwd(path) == RET_OK, RET_FAIL);
|
||||||
|
|
||||||
return system_info_normalize_app_root_try_path(info, path);
|
return system_info_normalize_app_root_try_path(info, path, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ret_t system_info_normalize_app_root_try_exe(system_info_t* info) {
|
static ret_t system_info_normalize_app_root_try_exe(system_info_t* info) {
|
||||||
@ -136,7 +138,20 @@ static ret_t system_info_normalize_app_root_try_exe(system_info_t* info) {
|
|||||||
*last = '\0';
|
*last = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
return system_info_normalize_app_root_try_path(info, path);
|
return system_info_normalize_app_root_try_path(info, path, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ret_t system_info_normalize_app_root_try_parent_dir(system_info_t* info) {
|
||||||
|
char* last = NULL;
|
||||||
|
char path[MAX_PATH + 1] = {0};
|
||||||
|
return_value_if_fail(path_cwd(path) == RET_OK, RET_FAIL);
|
||||||
|
|
||||||
|
last = strrchr(path, TK_PATH_SEP);
|
||||||
|
if (last != NULL) {
|
||||||
|
*last = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
return system_info_normalize_app_root_try_path(info, path, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ret_t system_info_normalize_app_root(system_info_t* info, const char* app_root_default) {
|
static ret_t system_info_normalize_app_root(system_info_t* info, const char* app_root_default) {
|
||||||
@ -146,6 +161,8 @@ static ret_t system_info_normalize_app_root(system_info_t* info, const char* app
|
|||||||
return RET_OK;
|
return RET_OK;
|
||||||
} else if (system_info_normalize_app_root_try_exe(info) == RET_OK) {
|
} else if (system_info_normalize_app_root_try_exe(info) == RET_OK) {
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
|
} else if (system_info_normalize_app_root_try_parent_dir(info) == RET_OK) {
|
||||||
|
return RET_OK;
|
||||||
} else {
|
} else {
|
||||||
system_info_set_app_root(info, "");
|
system_info_set_app_root(info, "");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user