annotate lib/regex.c @ 15727:144db791c6fa

Ensure EBADF returns for socket functions on mingw. * lib/accept.c (rpl_accept): Fail with error EBADF if the file descriptor is invalid. * lib/bind.c (rpl_bind): Likewise. * lib/connect.c (rpl_connect): Likewise. * lib/getpeername.c (rpl_getpeername): Likewise. * lib/getsockname.c (rpl_getsockname): Likewise. * lib/getsockopt.c (rpl_getsockopt): Likewise. * lib/listen.c (rpl_listen): Likewise. * lib/recv.c (rpl_recv): Likewise. * lib/recvfrom.c (rpl_recvfrom): Likewise. * lib/send.c (rpl_send): Likewise. * lib/sendto.c (rpl_sendto): Likewise. * lib/setsockopt.c (rpl_setsockopt): Likewise. * lib/shutdown.c (rpl_shutdown): Likewise.
author Bruno Haible <bruno@clisp.org>
date Wed, 21 Sep 2011 00:20:59 +0200
parents 511fb0527efd
children 8250f2777afc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
1 /* Extended regular expression matching and search library.
14079
97fc9a21a8fb maint: update almost all copyright ranges to include 2011
Jim Meyering <meyering@redhat.com>
parents: 12559
diff changeset
2 Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
3 This file is part of the GNU C Library.
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
4 Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
1283
1630d40799c0 update from libc/copies
Jim Meyering <jim@meyering.net>
parents: 1152
diff changeset
5
4020
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
6 This program is free software; you can redistribute it and/or modify
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
7 it under the terms of the GNU General Public License as published by
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
9 any later version.
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
10
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
11 This program is distributed in the hope that it will be useful,
1283
1630d40799c0 update from libc/copies
Jim Meyering <jim@meyering.net>
parents: 1152
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
4020
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
14 GNU General Public License for more details.
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
15
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
16 You should have received a copy of the GNU General Public License along
7158a1db8695 change license to gpl.
Karl Berry <karl@freefriends.org>
parents: 3966
diff changeset
17 with this program; if not, write to the Free Software Foundation,
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
18 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
14
3eda3e12f7ba Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19
7302
8a1a9361108c * _fpending.c: Include <config.h> unconditionally, since we no
Paul Eggert <eggert@cs.ucla.edu>
parents: 6726
diff changeset
20 #include <config.h>
127
db319931184f merge with 1.8b
Jim Meyering <jim@meyering.net>
parents: 103
diff changeset
21
6726
af9abbcedfbd Merge regex changes from libc, removing some of our
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
22 /* Make sure noone compiles this code with a C++ compiler. */
af9abbcedfbd Merge regex changes from libc, removing some of our
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
23 #if defined __cplusplus && defined _LIBC
af9abbcedfbd Merge regex changes from libc, removing some of our
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
24 # error "This is C code, use a C compiler"
af9abbcedfbd Merge regex changes from libc, removing some of our
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
25 #endif
af9abbcedfbd Merge regex changes from libc, removing some of our
Paul Eggert <eggert@cs.ucla.edu>
parents: 6259
diff changeset
26
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
27 #ifdef _LIBC
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
28 /* We have to keep the namespace clean. */
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
29 # define regfree(preg) __regfree (preg)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
30 # define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
31 # define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
32 # define regerror(errcode, preg, errbuf, errbuf_size) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
33 __regerror(errcode, preg, errbuf, errbuf_size)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
34 # define re_set_registers(bu, re, nu, st, en) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
35 __re_set_registers (bu, re, nu, st, en)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
36 # define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
37 __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
38 # define re_match(bufp, string, size, pos, regs) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
39 __re_match (bufp, string, size, pos, regs)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
40 # define re_search(bufp, string, size, startpos, range, regs) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
41 __re_search (bufp, string, size, startpos, range, regs)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
42 # define re_compile_pattern(pattern, length, bufp) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
43 __re_compile_pattern (pattern, length, bufp)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
44 # define re_set_syntax(syntax) __re_set_syntax (syntax)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
45 # define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
46 __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
47 # define re_compile_fastmap(bufp) __re_compile_fastmap (bufp)
3157
d61e5442f79e Update from libc.
Jim Meyering <jim@meyering.net>
parents: 2927
diff changeset
48
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
49 # include "../locale/localeinfo.h"
3157
d61e5442f79e Update from libc.
Jim Meyering <jim@meyering.net>
parents: 2927
diff changeset
50 #endif
14
3eda3e12f7ba Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
51
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
52 /* On some systems, limits.h sets RE_DUP_MAX to a lower value than
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
53 GNU regex allows. Include it before <regex.h>, which correctly
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
54 #undefs RE_DUP_MAX and sets it to the right value. */
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
55 #include <limits.h>
15388
511fb0527efd regex: avoid compiler warning
Eric Blake <eblake@redhat.com>
parents: 14079
diff changeset
56 #include <strings.h>
14
3eda3e12f7ba Initial revision
Jim Meyering <jim@meyering.net>
parents:
diff changeset
57
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
58 #include <regex.h>
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
59 #include "regex_internal.h"
3336
443925e82080 update from libc
Jim Meyering <jim@meyering.net>
parents: 3299
diff changeset
60
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
61 #include "regex_internal.c"
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
62 #include "regcomp.c"
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
63 #include "regexec.c"
3299
a733f1450c55 Update from glibc.
Jim Meyering <jim@meyering.net>
parents: 3278
diff changeset
64
5968
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
65 /* Binary backward compatibility. */
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
66 #if _LIBC
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
67 # include <shlib-compat.h>
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
68 # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3)
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
69 link_warning (re_max_failures, "the 're_max_failures' variable is obsolete and will go away.")
541fed6ae301 * modules/regex (Files): Add lib/regex_internal.c,
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
70 int re_max_failures = 2000;
1283
1630d40799c0 update from libc/copies
Jim Meyering <jim@meyering.net>
parents: 1152
diff changeset
71 # endif
988
ba13cef00d11 replace with new version from libc
Jim Meyering <jim@meyering.net>
parents: 693
diff changeset
72 #endif