X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FINet%2FINetAddressing.cci;h=320e8eeda3852fe46c7926865e3677b2d3e48f90;hb=fa696fb7164ff243f6b7c1c5bda35ed75af153dc;hp=f053e1db8b73b7ea6101ad8cc19cd6391a855f4d;hpb=3b088b5c4d84e10b42b36f047911b34b03b49b03;p=senf.git diff --git a/Socket/Protocols/INet/INetAddressing.cci b/Socket/Protocols/INet/INetAddressing.cci index f053e1d..320e8ee 100644 --- a/Socket/Protocols/INet/INetAddressing.cci +++ b/Socket/Protocols/INet/INetAddressing.cci @@ -110,12 +110,6 @@ prefix_ senf::INet6SocketAddress::INet6SocketAddress(std::string const & addr) assignAddr(addr); } -prefix_ senf::INet6SocketAddress::INet6SocketAddress(char const * addr) -{ - clear(); - assignAddr(addr); -} - prefix_ senf::INet6SocketAddress::INet6SocketAddress(INet6Address const & addr, unsigned port) { clear(); @@ -140,13 +134,13 @@ prefix_ senf::INet6SocketAddress::INet6SocketAddress(std::string const & addr, assignIface(iface); } -prefix_ senf::INet6Address senf::INet6SocketAddress::host() +prefix_ senf::INet6Address senf::INet6SocketAddress::address() const { return INet6Address::from_data(&sockaddr_.sin6_addr.s6_addr[0]); } -prefix_ void senf::INet6SocketAddress::host(INet6Address const & addr) +prefix_ void senf::INet6SocketAddress::address(INet6Address const & addr) { std::copy(addr.begin(), addr.end(), &sockaddr_.sin6_addr.s6_addr[0]); } @@ -186,7 +180,11 @@ prefix_ unsigned senf::INet6SocketAddress::sockaddr_len() prefix_ std::ostream & senf::operator<<(std::ostream & os, INet6SocketAddress const & addr) { - os << addr.address(); + os << '[' << addr.address(); + std::string iface (addr.iface()); + if (! iface.empty()) + os << '%' << iface; + os << "]:" << addr.port(); return os; }