diff --git a/src/icf_mount.cpp b/src/icf_mount.cpp index be147f6..a690f5c 100644 --- a/src/icf_mount.cpp +++ b/src/icf_mount.cpp @@ -62,8 +62,8 @@ namespace icf_mount { } } - // APP/OPT文件所在目录:优先使用image_dir,否则使用exe所在目录 - std::wstring dir = cfg.image_dir.empty() ? utils::get_exe_dir() : cfg.image_dir; + // APP/OPT文件所在目录:优先使用image_dir,否则使用当前目录 + std::wstring dir = cfg.image_dir.empty() ? utils::get_cwd() : cfg.image_dir; // 构造密钥override(config.ini [KEYS] section,空则用内置密钥表) fscrypt::KeyOverride key_override; @@ -341,8 +341,7 @@ namespace icf_mount { } // 4) 倒序卸载APP容器 - for (auto it = app_entries.rbegin(); it != app_entries.rend(); ++it) { - auto *entry = *it; + for (auto entry : std::views::reverse(app_entries)) { MountEntry mount_entry{}; mount_entry.filename = entry->filename; mount_entry.version = entry->version; diff --git a/src/utils/files.cpp b/src/utils/files.cpp index 002577c..e64cfc6 100644 --- a/src/utils/files.cpp +++ b/src/utils/files.cpp @@ -39,7 +39,7 @@ namespace utils { wchar_t buf[32768]; DWORD len = GetCurrentDirectoryW(_countof(buf), buf); if (len == 0 || len >= _countof(buf)) return L"."; - return std::wstring(buf, len); + return {buf, len}; } // 递归拷贝目录