From: Andre Noll <maan@tuebingen.mpg.de>
Date: Sun, 11 Jan 2015 22:21:13 +0000 (+0100)
Subject: Remove socket address parameter of create_local_socket().
X-Git-Tag: v0.5.5~60^2~4
X-Git-Url: https://git.tuebingen.mpg.de/?a=commitdiff_plain;h=0c4bb93fbfc543cf2c5ff2acb6a7f7a824163b57;p=paraslash.git

Remove socket address parameter of create_local_socket().

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

diff --git a/afs.c b/afs.c
index a21a99d0..7832a324 100644
--- 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);
diff --git a/audiod.c b/audiod.c
index 77d21f37..40f02f74 100644
--- 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 13907102..7a987444 100644
--- 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 bb2540dd..b2bb47c9 100644
--- 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*);