| Index: net/socket/stream_listen_socket.cc
|
| diff --git a/net/socket/stream_listen_socket.cc b/net/socket/stream_listen_socket.cc
|
| index fd164a556d5b3f0235794e4e939be61f4cd7459d..a49a9d3e63d60e18525d526acc7cf9dfe353ae42 100644
|
| --- a/net/socket/stream_listen_socket.cc
|
| +++ b/net/socket/stream_listen_socket.cc
|
| @@ -86,18 +86,7 @@ void StreamListenSocket::Send(const string& str, bool append_linefeed) {
|
| }
|
|
|
| int StreamListenSocket::GetLocalAddress(IPEndPoint* address) {
|
| - SockaddrStorage storage;
|
| - if (getsockname(socket_, storage.addr, &storage.addr_len)) {
|
| -#if defined(OS_WIN)
|
| - int err = WSAGetLastError();
|
| -#else
|
| - int err = errno;
|
| -#endif
|
| - return MapSystemError(err);
|
| - }
|
| - if (!address->FromSockAddr(storage.addr, storage.addr_len))
|
| - return ERR_ADDRESS_INVALID;
|
| - return OK;
|
| + return GetLocalAddressImpl(address);
|
| }
|
|
|
| int StreamListenSocket::GetPeerAddress(IPEndPoint* address) {
|
| @@ -242,6 +231,21 @@ void StreamListenSocket::UnwatchSocket() {
|
| #endif
|
| }
|
|
|
| +int StreamListenSocket::GetLocalAddressImpl(IPEndPoint* address) {
|
| + SockaddrStorage storage;
|
| + if (getsockname(socket_, storage.addr, &storage.addr_len)) {
|
| +#if defined(OS_WIN)
|
| + int err = WSAGetLastError();
|
| +#else
|
| + int err = errno;
|
| +#endif
|
| + return MapSystemError(err);
|
| + }
|
| + if (!address->FromSockAddr(storage.addr, storage.addr_len))
|
| + return ERR_ADDRESS_INVALID;
|
| + return OK;
|
| +}
|
| +
|
| // TODO(ibrar): We can add these functions into OS dependent files.
|
| #if defined(OS_WIN)
|
| // MessageLoop watcher callback.
|
|
|