diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2001-08-03 12:06:29 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2001-08-03 12:06:29 +0000 |
commit | 7eb971a561ec030f1684649b8e30674d20e25a13 (patch) | |
tree | a4ce08de521ca7eec1b17761f5f49485c11940ff /winsup/cygwin/net.cc | |
parent | dce6f5639766db7bafd72308ebd1c848d257e2ef (diff) | |
download | cygnal-7eb971a561ec030f1684649b8e30674d20e25a13.tar.gz cygnal-7eb971a561ec030f1684649b8e30674d20e25a13.tar.bz2 cygnal-7eb971a561ec030f1684649b8e30674d20e25a13.zip |
* net.cc (cygwin_accept): Allow NULL peer and len parameters.
* include/cygwin/socket.h: Define socklen_t as int.
Diffstat (limited to 'winsup/cygwin/net.cc')
-rw-r--r-- | winsup/cygwin/net.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index c3b1e355a..4e93a9e11 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -900,6 +900,17 @@ cygwin_accept (int fd, struct sockaddr *peer, int *len) fhandler_socket *sock = get (fd); if (sock) { + /* Allows NULL peer and len parameters. */ + struct sockaddr_in peer_dummy; + int len_dummy; + if (!peer) + peer = (struct sockaddr *) &peer_dummy; + if (!len) + { + len_dummy = sizeof (struct sockaddr_in); + len = &len_dummy; + } + /* accept on NT fails if len < sizeof (sockaddr_in) * some programs set len to * sizeof (name.sun_family) + strlen (name.sun_path) for UNIX domain |