On Win32, the third setsockopt parameter has type (char *) while on POSIX
systems it is (void *). However, given that it is a no-op cast to go from a
char pointer to a void pointer, we can cast to a char pointer (with a
possible const modifier) on all platforms and satisfy the compiler.

Signed-off-by: Dan McGee <d...@archlinux.org>
---
 src/output/raop_output_plugin.c |    4 ++--
 src/socket_util.c               |   22 ++++------------------
 2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c
index dce7b5b..ac841e6 100644
--- a/src/output/raop_output_plugin.c
+++ b/src/output/raop_output_plugin.c
@@ -328,7 +328,7 @@ open_udp_socket(char *hostname, unsigned short *port,
                GError **error_r)
 {
        int sd;
-       int size = 30000;
+       const int size = 30000;
 
        /* socket creation */
        sd = socket(PF_INET, SOCK_DGRAM, 0);
@@ -338,7 +338,7 @@ open_udp_socket(char *hostname, unsigned short *port,
                            g_strerror(errno));
                return -1;
        }
-       if (setsockopt(sd, SOL_SOCKET, SO_SNDBUF, (void *) &size, sizeof(size)) 
< 0) {
+       if (setsockopt(sd, SOL_SOCKET, SO_SNDBUF, (const char *) &size, 
sizeof(size)) < 0) {
                g_set_error(error_r, raop_output_quark(), errno,
                            "failed to set UDP buffer size: %s",
                            g_strerror(errno));
diff --git a/src/socket_util.c b/src/socket_util.c
index d64d0eb..6111af4 100644
--- a/src/socket_util.c
+++ b/src/socket_util.c
@@ -100,9 +100,6 @@ socket_bind_listen(int domain, int type, int protocol,
 {
        int fd, ret;
        const int reuse = 1;
-#ifdef HAVE_STRUCT_UCRED
-       int passcred = 1;
-#endif
 
        fd = socket_cloexec_nonblock(domain, type, protocol);
        if (fd < 0) {
@@ -111,14 +108,8 @@ socket_bind_listen(int domain, int type, int protocol,
                return -1;
        }
 
-#ifdef WIN32
-       const char *optval = (const char *)&reuse;
-#else
-       const void *optval = &reuse;
-#endif
-
        ret = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
-                        optval, sizeof(reuse));
+                        (const char *) &reuse, sizeof(reuse));
        if (ret < 0) {
                g_set_error(error, listen_quark(), errno,
                            "setsockopt() failed: %s", g_strerror(errno));
@@ -143,7 +134,8 @@ socket_bind_listen(int domain, int type, int protocol,
        }
 
 #ifdef HAVE_STRUCT_UCRED
-       setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &passcred, sizeof(passcred));
+       setsockopt(fd, SOL_SOCKET, SO_PASSCRED,
+                  (const char *) &reuse, sizeof(reuse));
 #endif
 
        return fd;
@@ -155,13 +147,7 @@ socket_keepalive(int fd)
        const int reuse = 1;
        int ret;
 
-#ifdef WIN32
-       const char *optval = (const char *)&reuse;
-#else
-       const void *optval = &reuse;
-#endif
-
        ret = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE,
-                       optval, sizeof(reuse));
+                        (const char *) &reuse, sizeof(reuse));
        return ret == 0 ? true : false;
 }
-- 
1.7.6.1


------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1 
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to