config: Use canonical instead of read_symlink (#4136)

This commit is contained in:
dranull 2023-12-12 16:43:38 +00:00 committed by GitHub
parent ba2af6f86d
commit 934112af5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -52,19 +52,21 @@ int main(int argc, char** argv) {
return 1;
}
std::string next_arg = std::next(it)->c_str();
configPath = std::next(it)->c_str();
if (std::filesystem::is_symlink(next_arg))
next_arg = std::filesystem::read_symlink(next_arg);
try {
configPath = std::filesystem::canonical(configPath);
if (!std::filesystem::is_regular_file(next_arg)) {
std::cerr << "[ ERROR ] Config file '" << next_arg << "' doesn't exist!\n";
if (!std::filesystem::is_regular_file(configPath)) {
throw std::exception();
}
} catch (...) {
std::cerr << "[ ERROR ] Config file '" << configPath << "' doesn't exist!\n";
help();
return 1;
}
configPath = std::filesystem::weakly_canonical(next_arg);
Debug::log(LOG, "User-specified config location: '{}'", configPath);
it++;