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