changeset 9966:2efe37d5c70d

Make setsockopt replacement more typesafe.
author Simon Josefsson <simon@josefsson.org>
date Wed, 23 Apr 2008 08:09:44 +0200
parents e624bf7756b1
children 1c044d4812b8
files ChangeLog lib/sys_socket.in.h
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-23  Simon Josefsson  <simon@josefsson.org>
+
+	* lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
+	an inline function instead of a CPP macro.  Patch by Ben Pfaff
+	<blp@cs.stanford.edu>.
+
 2008-04-23  Simon Josefsson  <simon@josefsson.org>
 
 	* lib/arpa_inet.in.h: New file.
--- a/lib/sys_socket.in.h
+++ b/lib/sys_socket.in.h
@@ -103,7 +103,13 @@
 # endif
 
 # if defined _WIN32 || defined __WIN32__
-#  define setsockopt(a,b,c,d,e) setsockopt(a,b,c,(const void*)(d),e)
+#  define setsockopt(a,b,c,d,e) rpl_setsockopt(a,b,c,d,e)
+static inline int
+rpl_setsockopt(int socket, int level, int optname, const void *optval,
+	       socklen_t optlen)
+{
+  return (setsockopt)(socket, level, optname, optval, optlen);
+}
 # endif
 
 #endif /* HAVE_SYS_SOCKET_H */