diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/Client.hxx | 4 | ||||
-rw-r--r-- | src/client/ClientNew.cxx | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/client/Client.hxx b/src/client/Client.hxx index ef7f4c406..bdfb1ef93 100644 --- a/src/client/Client.hxx +++ b/src/client/Client.hxx @@ -36,7 +36,7 @@ #include <stddef.h> #include <stdarg.h> -struct sockaddr; +class SocketAddress; class EventLoop; class Path; struct Partition; @@ -204,7 +204,7 @@ void client_manager_init(void); void client_new(EventLoop &loop, Partition &partition, - int fd, const sockaddr *sa, size_t sa_length, int uid); + int fd, SocketAddress address, int uid); /** * Write a C string to the client. diff --git a/src/client/ClientNew.cxx b/src/client/ClientNew.cxx index 2b6941fd0..8dca9f81f 100644 --- a/src/client/ClientNew.cxx +++ b/src/client/ClientNew.cxx @@ -23,6 +23,7 @@ #include "Partition.hxx" #include "Instance.hxx" #include "system/fd_util.h" +#include "net/SocketAddress.hxx" #include "net/Resolver.hxx" #include "Permission.hxx" #include "util/Error.hxx" @@ -58,15 +59,15 @@ Client::Client(EventLoop &_loop, Partition &_partition, void client_new(EventLoop &loop, Partition &partition, - int fd, const struct sockaddr *sa, size_t sa_length, int uid) + int fd, SocketAddress address, int uid) { static unsigned int next_client_num; - const auto remote = sockaddr_to_string(sa, sa_length); + const auto remote = sockaddr_to_string(address); assert(fd >= 0); #ifdef HAVE_LIBWRAP - if (sa->sa_family != AF_UNIX) { + if (address.GetFamily() != AF_UNIX) { // TODO: shall we obtain the program name from argv[0]? const char *progname = "mpd"; |