getsockopt.c: In function 'rpl_getsockopt': getsockopt.c:51:7: warning: passing argument 4 of 'getsockopt' from incompatible pointer type c:\dev\msys_setup\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/winsock2.h:543:32: note: expected 'char *' but argument is of type 'int *'
A simple cast works around the mingw signature lameness. * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw. Reported by Matthias Bolte. Signed-off-by: Eric Blake <ebl...@redhat.com> --- ChangeLog | 4 ++++ lib/getsockopt.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/ChangeLog b/ChangeLog index 654d5c0..6b755c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-04-28 Eric Blake <ebl...@redhat.com> + getsockopt: avoid compiler warning + * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw. + Reported by Matthias Bolte. + tests: drop unused link dependency * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD. * modules/dirent-safer-tests (Makefile.am): Likewise. diff --git a/lib/getsockopt.c b/lib/getsockopt.c index c136772..d82ea5f 100644 --- a/lib/getsockopt.c +++ b/lib/getsockopt.c @@ -46,7 +46,8 @@ rpl_getsockopt (int fd, int level, int optname, void *optval, socklen_t *optlen) int milliseconds_len = sizeof (int); struct timeval tv; size_t n; - r = getsockopt (sock, level, optname, &milliseconds, &milliseconds_len); + r = getsockopt (sock, level, optname, (char *) &milliseconds, + &milliseconds_len); tv.tv_sec = milliseconds / 1000; tv.tv_usec = (milliseconds - 1000 * tv.tv_sec) * 1000; n = sizeof (struct timeval); -- 1.7.4.4