fix(app): correct port validation and remove redundant TOML helper

This commit is contained in:
2026-06-28 15:47:08 +08:00
parent a5764e901b
commit a016e08a2a
2 changed files with 3 additions and 10 deletions

View File

@@ -27,14 +27,6 @@ std::optional<T> safe_get_value(const toml::table& table, std::string_view key,
} }
return value; return value;
} }
template <typename U>
requires std::convertible_to<U, std::string>
std::optional<std::string> safe_get_value(const toml::table& table,
std::string_view key,
U&& default_value) {
return safe_get_value<std::string>(
table, key, std::string(std::forward<U>(default_value)));
}
} // namespace TOML } // namespace TOML

View File

@@ -99,7 +99,7 @@ void App::handle_argument(int argc, char** argv) {
auto r = std::from_chars(arg.data(), arg.data() + arg.size(), auto r = std::from_chars(arg.data(), arg.data() + arg.size(),
m_argument.port); m_argument.port);
if (r.ec != std::errc{} || arg.data() + arg.size()) { if (r.ec != std::errc{} || r.ptr != arg.data() + arg.size()) {
throw std::runtime_error( throw std::runtime_error(
std::format("Invalid port: {}", arg)); std::format("Invalid port: {}", arg));
} }
@@ -143,7 +143,8 @@ void App::handle_toml() {
return; return;
} }
m_argument.ip = *TOML::safe_get_value(server, "ip", "127.0.01"); m_argument.ip =
*TOML::safe_get_value(server, "ip", std::string("127.0.01"));
m_argument.port = *TOML::safe_get_value(server, "port", 25530); m_argument.port = *TOML::safe_get_value(server, "port", 25530);
m_argument.is_client = *TOML::safe_get_value(server, "client", false); m_argument.is_client = *TOML::safe_get_value(server, "client", false);
} }