annotate lib/recv.c @ 17463:203c036eb0c6

bootstrap: support checksum utils without a --status option * build-aux/bootstrap: Only look for sha1sum if updating po files. Add sha1 to the list of supported checksum utils since it's now supported through adjustments below. (update_po_files): Remove the use of --status in a way that will suppress all error messages, but since this is only used to minimize updates, it shouldn't cause an issue. Exit early if there is a problem updating the po file checksums. (find_tool): Remove the check for --version support as this is optional as per commit 86186b17. Don't even check for the presence of the command as if that is needed, it's supported through configuring prerequisites in bootstrap.conf. Prompt that when a tool isn't found, one can define an environment variable to add to the hardcoded search list.
author Pádraig Brady <P@draigBrady.com>
date Thu, 08 Aug 2013 11:08:49 +0100
parents e542fd46ad6f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10690
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
1 /* recv.c --- wrappers for Windows recv function
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
2
17249
e542fd46ad6f maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents: 16201
diff changeset
3 Copyright (C) 2008-2013 Free Software Foundation, Inc.
10690
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
4
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
5 This program is free software: you can redistribute it and/or modify
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
7 the Free Software Foundation; either version 3 of the License, or
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
8 (at your option) any later version.
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
9
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
13 GNU General Public License for more details.
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
14
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
17
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
18 /* Written by Paolo Bonzini */
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
19
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
20 #include <config.h>
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
21
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
22 #define WIN32_LEAN_AND_MEAN
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
23 /* Get winsock2.h. */
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
24 #include <sys/socket.h>
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
25
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
26 /* Get set_winsock_errno, FD_TO_SOCKET etc. */
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
27 #include "w32sock.h"
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
28
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
29 #undef recv
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
30
12921
64fcd5e219fe Use POSIX declarations for socket functions.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
31 ssize_t
64fcd5e219fe Use POSIX declarations for socket functions.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
32 rpl_recv (int fd, void *buf, size_t len, int flags)
10690
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
33 {
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
34 SOCKET sock = FD_TO_SOCKET (fd);
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
35
15727
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
36 if (sock == INVALID_SOCKET)
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
37 {
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
38 errno = EBADF;
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
39 return -1;
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
40 }
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
41 else
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
42 {
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
43 int r = recv (sock, buf, len, flags);
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
44 if (r < 0)
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
45 set_winsock_errno ();
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
46
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
47 return r;
144db791c6fa Ensure EBADF returns for socket functions on mingw.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
48 }
10690
01f3623813da Split winsock.c into many smaller files.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
49 }