mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-05-10 10:19:47 +08:00
fix: 修复JSON导入、备份目录创建和内存安全等问题
修复JSON导入时转义字符处理不完整的问题,添加对\b、\f等控制字符的转义 改进备份目录创建逻辑,使用SHCreateDirectoryExW递归创建目录 修复内存分配失败处理,避免空指针解引用 修正选项卡标题设置位置,从Dialog改为Tabs控件 增强导入功能,支持TXT文件导入时选择目标变量类型 优化清理无效路径算法,使用标记数组减少内存移动 修复宽字符环境变量设置,使用_wputenv_s替代putenv 添加导入数据初始化,防止未初始化内存访问 改进文件属性检查,使用宽字符API支持Unicode路径
This commit is contained in:
+7
-3
@@ -50,7 +50,7 @@ int main(int argc, char **argv)
|
||||
log_info("PathEditor starting...");
|
||||
|
||||
// 强制设置 UTF8MODE 环境变量,必须在 IupOpen 之前
|
||||
putenv("IUP_UTF8MODE=YES");
|
||||
_wputenv_s(L"IUP_UTF8MODE", L"YES");
|
||||
|
||||
IupOpen(&argc, &argv);
|
||||
IupSetGlobal("UTF8MODE", "YES");
|
||||
@@ -105,12 +105,16 @@ int main(int argc, char **argv)
|
||||
// 检查管理员权限
|
||||
if (!check_admin())
|
||||
{
|
||||
IupMessage(_("Warning"), _(lua_config_get_string("status", "admin_warning")));
|
||||
const char *admin_msg = lua_config_get_string("status", "admin_warning");
|
||||
IupMessage(_("Warning"), admin_msg ? _(admin_msg) : "需要管理员权限才能编辑环境变量");
|
||||
|
||||
// 设置只读状态提示
|
||||
Ihandle *lbl_status = IupGetDialogChild(dlg, CTRL_LBL_STATUS);
|
||||
if (lbl_status)
|
||||
IupSetAttribute(lbl_status, "TITLE", _(lua_config_get_string("status", "readonly")));
|
||||
{
|
||||
const char *readonly_msg = lua_config_get_string("status", "readonly");
|
||||
IupSetAttribute(lbl_status, "TITLE", readonly_msg ? _(readonly_msg) : "只读模式");
|
||||
}
|
||||
|
||||
// 禁用所有需要管理员权限的按钮
|
||||
for (int i = 0; i < ADMIN_DISABLE_COUNT; i++)
|
||||
|
||||
Reference in New Issue
Block a user