Mercurial > irccd
diff irccdctl/main.cpp @ 641:7e2d0739f37c
Irccd: import json_util from code
Change how parsing values from JSON is done, the json_util functions do not
throw but return a boost::optional instead. Then, create some convenient local
wrappers in server_util.cpp to throw on missing values.
While here, add as much as possible const qualifier on variables that will not
be modified.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 20 Mar 2018 20:01:02 +0100 |
parents | 27587ff92a64 |
children | aae6d5a2b28d |
line wrap: on
line diff
--- a/irccdctl/main.cpp Tue Mar 20 19:45:01 2018 +0100 +++ b/irccdctl/main.cpp Tue Mar 20 20:01:02 2018 +0100 @@ -85,7 +85,7 @@ #endif // Global options. -bool verbose = true; +bool verbose = false; // Connection to instance. std::unique_ptr<connection> conn; @@ -508,11 +508,17 @@ if (code) throw boost::system::system_error(code); - if (verbose) - std::cout << string_util::sprintf("connected to irccd %d.%d.%d\n", - json_util::to_int(info["major"]), - json_util::to_int(info["minor"]), - json_util::to_int(info["patch"])); + if (verbose) { + const auto major = json_util::get_int(info, "/major"_json_pointer); + const auto minor = json_util::get_int(info, "/minor"_json_pointer); + const auto patch = json_util::get_int(info, "/patch"_json_pointer); + + if (!major || !minor || !patch) + std::cout << "connected to irccd (unknown version)" << std::endl; + else + std::cout << string_util::sprintf("connected to irccd %d.%d.%d\n", + *major, *minor, *patch); + } connected = true; });