From 6aebe8304ac5fcc50de5042107fada53612d552e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 1 Mar 2009 20:45:42 +0100 Subject: [PATCH] Use socklen_t in the native Windows replacements prototypes. --- ChangeLog | 10 ++++++++++ lib/getsockopt.c | 6 +++--- lib/setsockopt.c | 4 ++-- lib/sys_socket.in.h | 6 +++--- modules/getsockopt | 1 + modules/setsockopt | 1 + 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index d98c59248..2dc9bd7a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2009-03-01 Bruno Haible + Use socklen_t in the native Windows replacements prototypes. + * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t + instead of 'int'. + * lib/getsockopt.c (rpl_getsockopt): Likewise. + * lib/setsockopt.c (rpl_setsockopt): Likewise. + * modules/getsockopt (Depends-on): Add socklen. + * modules/setsockopt (Depends-on): Add socklen. + +2009-03-01 Bruno Haible + * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at least 4.2. diff --git a/lib/getsockopt.c b/lib/getsockopt.c index 3da37a99c..128edd6df 100644 --- a/lib/getsockopt.c +++ b/lib/getsockopt.c @@ -1,6 +1,6 @@ /* getsockopt.c --- wrappers for Windows getsockopt function - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -35,7 +35,7 @@ #undef getsockopt int -rpl_getsockopt (int fd, int level, int optname, void *optval, int *optlen) +rpl_getsockopt (int fd, int level, int optname, void *optval, socklen_t *optlen) { int r; SOCKET sock = FD_TO_SOCKET (fd); @@ -51,7 +51,7 @@ rpl_getsockopt (int fd, int level, int optname, void *optval, int *optlen) tv.tv_usec = (milliseconds - 1000 * tv.tv_sec) * 1000; n = sizeof (struct timeval); if (n > *optlen) - n = *optlen; + n = *optlen; memcpy (optval, &tv, n); *optlen = n; } diff --git a/lib/setsockopt.c b/lib/setsockopt.c index 64f4a814e..96a00cc2e 100644 --- a/lib/setsockopt.c +++ b/lib/setsockopt.c @@ -1,6 +1,6 @@ /* setsockopt.c --- wrappers for Windows setsockopt function - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ #undef setsockopt int -rpl_setsockopt (int fd, int level, int optname, const void *optval, int optlen) +rpl_setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen) { int r; SOCKET sock = FD_TO_SOCKET (fd); diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h index 63c80fff0..6508bf77e 100644 --- a/lib/sys_socket.in.h +++ b/lib/sys_socket.in.h @@ -1,6 +1,6 @@ /* Provide a sys/socket header file for systems lacking it (read: MinGW) and for systems where it is incomplete. - Copyright (C) 2005-2008 Free Software Foundation, Inc. + Copyright (C) 2005-2009 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify @@ -256,7 +256,7 @@ extern int rpl_getsockname (int, struct sockaddr *, int *); # if @HAVE_WINSOCK2_H@ # undef getsockopt # define getsockopt rpl_getsockopt -extern int rpl_getsockopt (int, int, int, void *, int *); +extern int rpl_getsockopt (int, int, int, void *, socklen_t *); # endif # elif @HAVE_WINSOCK2_H@ # undef getsockopt @@ -358,7 +358,7 @@ extern int rpl_sendto (int, const void *, int, int, struct sockaddr *, int); # if @HAVE_WINSOCK2_H@ # undef setsockopt # define setsockopt rpl_setsockopt -extern int rpl_setsockopt (int, int, int, const void *, int); +extern int rpl_setsockopt (int, int, int, const void *, socklen_t); # endif # elif @HAVE_WINSOCK2_H@ # undef setsockopt diff --git a/modules/getsockopt b/modules/getsockopt index 40ff64981..85b04c042 100644 --- a/modules/getsockopt +++ b/modules/getsockopt @@ -8,6 +8,7 @@ lib/w32sock.h Depends-on: sys_socket sys_time +socklen errno configure.ac: diff --git a/modules/setsockopt b/modules/setsockopt index b429510a0..5702aaeb6 100644 --- a/modules/setsockopt +++ b/modules/setsockopt @@ -8,6 +8,7 @@ lib/w32sock.h Depends-on: sys_socket sys_time +socklen errno configure.ac: -- 2.11.0