Remove socket address parameter of create_local_socket().
authorAndre Noll <maan@tuebingen.mpg.de>
Sun, 11 Jan 2015 22:21:13 +0000 (23:21 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Sat, 14 Feb 2015 10:45:26 +0000 (11:45 +0100)
The two callers of create_local_socket() are not interested in
the sockaddr_un structure at all. So we may define the structure
in create_local_socket() rather than in each caller, and kill the
function parameter.

afs.c
audiod.c
net.c
net.h

diff --git a/afs.c b/afs.c
index a21a99d..7832a32 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -637,10 +637,9 @@ static int setup_command_socket_or_die(void)
 {
        int ret, socket_fd;
        char *socket_name = conf.afs_socket_arg;
-       struct sockaddr_un unix_addr;
 
        unlink(socket_name);
-       ret = create_local_socket(socket_name, &unix_addr,
+       ret = create_local_socket(socket_name,
                S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IWOTH);
        if (ret < 0) {
                PARA_EMERG_LOG("%s: %s\n", para_strerror(-ret), socket_name);
index 77d21f3..40f02f7 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -958,7 +958,6 @@ static int parse_stream_args(void)
 /* does not unlink socket on errors */
 static int audiod_get_socket(void)
 {
-       struct sockaddr_un unix_addr;
        int ret, fd;
 
        if (conf.socket_given)
@@ -972,7 +971,7 @@ static int audiod_get_socket(void)
        PARA_NOTICE_LOG("local socket: %s\n", socket_name);
        if (conf.force_given)
                unlink(socket_name);
-       ret = create_local_socket(socket_name, &unix_addr,
+       ret = create_local_socket(socket_name,
                S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IWOTH);
        if (ret < 0)
                goto err;
diff --git a/net.c b/net.c
index 1390710..7a98744 100644 (file)
--- a/net.c
+++ b/net.c
@@ -863,8 +863,7 @@ static int init_unix_addr(struct sockaddr_un *u, const char *name)
  * Prepare, create, and bind a socket for local communication.
  *
  * \param name The socket pathname.
- * \param unix_addr Pointer to the \p AF_UNIX socket structure.
- * \param mode The desired mode of the socket.
+ * \param mode The desired permissions of the socket.
  *
  * This function creates a local socket for sequenced, reliable,
  * two-way, connection-based byte streams.
@@ -875,19 +874,19 @@ static int init_unix_addr(struct sockaddr_un *u, const char *name)
  * \sa bind(2)
  * \sa chmod(2)
  */
-int create_local_socket(const char *name, struct sockaddr_un *unix_addr,
-               mode_t mode)
+int create_local_socket(const char *name, mode_t mode)
 {
+       struct sockaddr_un unix_addr;
        int fd, ret;
 
-       ret = init_unix_addr(unix_addr, name);
+       ret = init_unix_addr(&unix_addr, name);
        if (ret < 0)
                return ret;
        ret = socket(PF_UNIX, SOCK_STREAM, 0);
        if (ret < 0)
                return -ERRNO_TO_PARA_ERROR(errno);
        fd = ret;
-       ret = bind(fd, (struct sockaddr *) unix_addr, UNIX_PATH_MAX);
+       ret = bind(fd, (struct sockaddr *)&unix_addr, UNIX_PATH_MAX);
        if (ret < 0) {
                ret = -ERRNO_TO_PARA_ERROR(errno);
                goto err;
diff --git a/net.h b/net.h
index bb2540d..b2bb47c 100644 (file)
--- a/net.h
+++ b/net.h
@@ -147,8 +147,7 @@ int recv_bin_buffer(int fd, char *buf, size_t size);
 int recv_buffer(int fd, char *buf, size_t size);
 
 int para_accept(int fd, fd_set *rfds, void *addr, socklen_t size, int *new_fd);
-int create_local_socket(const char *name, struct sockaddr_un *unix_addr,
-       mode_t mode);
+int create_local_socket(const char *name, mode_t mode);
 int connect_local_socket(const char *name);
 int recv_cred_buffer(int, char *, size_t);
 ssize_t send_cred_buffer(int, char*);