diff --git a/src/event/ServerSocket.cxx b/src/event/ServerSocket.cxx index 69e62f897..552efb0a3 100644 --- a/src/event/ServerSocket.cxx +++ b/src/event/ServerSocket.cxx @@ -159,7 +159,7 @@ OneServerSocket::Accept() StaticSocketAddress peer_address; size_t peer_address_length = sizeof(peer_address); int peer_fd = - accept_cloexec_nonblock(Get(), peer_address, + accept_cloexec_nonblock(Get(), peer_address.GetAddress(), &peer_address_length); if (peer_fd < 0) { const SocketErrorMessage msg; @@ -306,7 +306,7 @@ ServerSocket::AddFD(int fd, Error &error) StaticSocketAddress address; socklen_t address_length = sizeof(address); - if (getsockname(fd, address, + if (getsockname(fd, address.GetAddress(), &address_length) < 0) { SetSocketError(error); error.AddPrefix("Failed to get socket address: "); diff --git a/src/net/StaticSocketAddress.hxx b/src/net/StaticSocketAddress.hxx index 2d92d36b5..0a780f6f6 100644 --- a/src/net/StaticSocketAddress.hxx +++ b/src/net/StaticSocketAddress.hxx @@ -56,11 +56,11 @@ public: size); } - operator struct sockaddr *() { + struct sockaddr *GetAddress() { return reinterpret_cast(&address); } - operator const struct sockaddr *() const { + const struct sockaddr *GetAddress() const { return reinterpret_cast(&address); }