# HG changeset patch # User David Demelier # Date 1446146280 -3600 # Node ID 5310aa051568c817bf3b2051b21b1cbe1f877f92 # Parent 828d3dc89f2d5de752d6cd46723c8a16e8e4370a Socket: put back getsockname diff -r 828d3dc89f2d -r 5310aa051568 C++/modules/Socket/Sockets.h --- a/C++/modules/Socket/Sockets.h Wed Oct 28 21:16:27 2015 +0100 +++ b/C++/modules/Socket/Sockets.h Thu Oct 29 20:18:00 2015 +0100 @@ -643,8 +643,14 @@ */ Address address() const { - // TODO: to reimplement - return {}; + sockaddr_storage ss; + socklen_t length = sizeof (sockaddr_storage); + + if (::getsockname(m_handle, (sockaddr *)&ss, &length) == Failure) { + throw Error{Error::System, "getsockname"}; + } + + return Address(&ss, length); } /**