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..5f3a914db35580c1e95b164f6b92341d1c62e3ea 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) { |
@@ -322,4 +311,19 @@ void StreamListenSocket::ResumeReads() { |
} |
} |
+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; |
+} |
+ |
} // namespace net |