mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 17:57:02 +08:00
fix(app): correct port validation and remove redundant TOML helper
This commit is contained in:
@@ -27,14 +27,6 @@ std::optional<T> safe_get_value(const toml::table& table, std::string_view key,
|
||||
}
|
||||
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
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ void App::handle_argument(int argc, char** argv) {
|
||||
auto r = std::from_chars(arg.data(), arg.data() + arg.size(),
|
||||
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(
|
||||
std::format("Invalid port: {}", arg));
|
||||
}
|
||||
@@ -143,7 +143,8 @@ void App::handle_toml() {
|
||||
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.is_client = *TOML::safe_get_value(server, "client", false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user