[Config] Print contents of loaded config file

This commit is contained in:
illusion0001 2023-07-23 20:20:23 -05:00 committed by Margen67
parent d61c215bd0
commit df7146818d
1 changed files with 11 additions and 1 deletions

View File

@ -25,12 +25,22 @@ std::shared_ptr<cpptoml::table> ParseFile(
" could not be opened for parsing");
}
// since cpptoml can't parse files with a UTF-8 BOM we need to skip them
char bom[3];
char bom[3]{};
file.read(bom, sizeof(bom));
if (file.fail() || bom[0] != '\xEF' || bom[1] != '\xBB' || bom[2] != '\xBF') {
file.clear();
file.seekg(0);
}
if (xe::utf8::ends_with(filename.string(), ".config.toml")) {
std::string config_content{};
std::string config_line{};
// dump contents of loaded config file
// content is expected to be utf8
while (std::getline(file, config_line)) {
config_content.append(fmt::format("{}\n", config_line));
}
XELOGI("Loading config: {}\n{}", xe::path_to_utf8(filename), config_content);
}
cpptoml::parser p(file);
return p.parse();