更新默认配置文件,支持配置注释和排序

This commit is contained in:
xia-chu
2025-12-01 20:03:14 +08:00
parent 6f16c81d97
commit 1892185b23
3 changed files with 27 additions and 5 deletions

View File

@@ -30,7 +30,22 @@ bool loadIniConfig(const char *ini_path) {
ini = exePath() + ".ini";
}
try {
mINI::Instance().parseFile(ini);
mINI tmp;
tmp.parseFile(ini);
auto &ref = mINI::Instance();
for (auto &pr : tmp) {
if (ref.find(pr.first) == ref.end()) {
// 新增键
WarnL << "unknow config: " << pr.first << " = " << pr.second;
ref.emplace(pr);
} else {
// 更新键
ref[pr.first] = pr.second;
}
}
// 更新注释和排序
ref.updateFrom(tmp);
NOTICE_EMIT(BroadcastReloadConfigArgs, Broadcast::kBroadcastReloadConfig);
return true;
} catch (std::exception &) {