diff options
Diffstat (limited to 'examples/network/resolver.cc')
-rw-r--r-- | examples/network/resolver.cc | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/examples/network/resolver.cc b/examples/network/resolver.cc index 4112c146..54196f69 100644 --- a/examples/network/resolver.cc +++ b/examples/network/resolver.cc @@ -95,7 +95,7 @@ print_resolved_addresses (const Glib::ustring& name, { G_LOCK (response); std::cout << Glib::ustring::compose ("Name: %1\n", name); - for (std::list<Glib::RefPtr<Gio::InetAddress> >::const_iterator iter = addresses.begin (); + for (auto iter = addresses.begin (); iter != addresses.end (); ++iter) { std::cout << Glib::ustring::compose ("Address: %1\n", (*iter)->to_string ()); @@ -112,7 +112,7 @@ print_resolved_service (const Glib::ustring& service, { G_LOCK (response); std::cout << Glib::ustring::compose ("Service: %1\n", service); - for (std::list<Gio::SrvTarget>::const_iterator iter = targets.begin (); + for (auto iter = targets.begin (); iter != targets.end (); ++iter) { std::cout << @@ -132,14 +132,14 @@ static std::vector<Glib::ustring> split_service_parts (const Glib::ustring& arg) { std::vector<Glib::ustring> parts; - std::size_t delim1 = 0; - std::size_t delim2 = 0; - delim1 = arg.find ('/', 0); + auto delim1 = arg.find ('/', 0); if (delim1 == std::string::npos) return parts; - delim2 = arg.find ('/', delim1 + 1); + + auto delim2 = arg.find ('/', delim1 + 1); if (delim2 == std::string::npos) return parts; + parts.push_back (arg.substr (0, delim1)); parts.push_back (arg.substr (delim1 + 1, delim2 - delim1 - 1)); parts.push_back (arg.substr (delim2 + 1)); @@ -154,7 +154,7 @@ lookup_one_sync (const Glib::ustring& arg) { std::list<Gio::SrvTarget> targets; /* service/protocol/domain */ - std::vector<Glib::ustring> parts = split_service_parts (arg); + auto parts = split_service_parts (arg); if (parts.size () != 3) { usage (); return; @@ -173,10 +173,10 @@ lookup_one_sync (const Glib::ustring& arg) } else if (Gio::hostname_is_ip_address (arg)) { - Glib::RefPtr<Gio::InetAddress> addr = Gio::InetAddress::create (arg); + auto addr = Gio::InetAddress::create (arg); try { - Glib::ustring name = resolver->lookup_by_address (addr, cancellable); + const auto name = resolver->lookup_by_address (addr, cancellable); print_resolved_name (arg, name); } catch (const Gio::ResolverError& err) @@ -186,11 +186,9 @@ lookup_one_sync (const Glib::ustring& arg) } else { - std::list<Glib::RefPtr<Gio::InetAddress> > addresses; - try { - addresses = resolver->lookup_by_name (arg, cancellable); + const auto addresses = resolver->lookup_by_name (arg, cancellable); print_resolved_addresses (arg, addresses); } catch (const Gio::ResolverError& err) @@ -271,7 +269,7 @@ start_async_lookups (char **argv, int argc) if (arg.find ('/') != std::string::npos) { /* service/protocol/domain */ - std::vector<Glib::ustring> parts = split_service_parts (arg); + auto parts = split_service_parts (arg); if (parts.size () != 3) { usage (); return; @@ -286,7 +284,7 @@ start_async_lookups (char **argv, int argc) } else if (Gio::hostname_is_ip_address (argv[i])) { - Glib::RefPtr<Gio::InetAddress> addr = Gio::InetAddress::create (argv[i]); + auto addr = Gio::InetAddress::create (argv[i]); resolver->lookup_by_address_async (addr, sigc::bind (sigc::ptr_fun @@ -311,8 +309,7 @@ start_async_lookups (char **argv, int argc) static void print_connectable_sockaddr (Glib::RefPtr<Gio::SocketAddress> sockaddr) { - Glib::ustring phys; - Glib::RefPtr<Gio::InetSocketAddress> isa = + auto isa = Glib::RefPtr<Gio::InetSocketAddress>::cast_dynamic (sockaddr); if (!isa) @@ -323,7 +320,7 @@ print_connectable_sockaddr (Glib::RefPtr<Gio::SocketAddress> sockaddr) } else { - phys = isa->get_address ()->to_string (); + const auto phys = isa->get_address ()->to_string (); std::cout << Glib::ustring::compose ("Address: %1%2%3:%4\n", phys.find (':') != std::string::npos ? "[" : "", phys, @@ -382,14 +379,12 @@ Glib::RefPtr<Gio::SocketConnectable> global_connectable; static void do_connectable (const std::string& arg, gboolean synchronous) { - std::vector<Glib::ustring> parts; Glib::RefPtr<Gio::SocketConnectable> connectable; - Glib::RefPtr<Gio::SocketAddressEnumerator> enumerator; if (arg.find ('/') != std::string::npos) { /* service/protocol/domain */ - parts = split_service_parts (arg); + auto parts = split_service_parts (arg); if (parts.size () != 3) { usage (); return; @@ -421,7 +416,7 @@ do_connectable (const std::string& arg, gboolean synchronous) connectable = Gio::NetworkAddress::create (arg, port); } - enumerator = connectable->enumerate (); + auto enumerator = connectable->enumerate (); if (synchronous) do_sync_connectable (enumerator); @@ -435,9 +430,10 @@ static volatile int cancel_fd; static void interrupted (int /*sig*/) { - const int save_errno = errno; + const auto save_errno = errno; while (write(cancel_fd, "", 1) < 0 && errno == EINTR) {} + errno = save_errno; } |