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. |