Mercurial > hg > octave-shane > gnulib-hg
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 |
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 | 5 |
4020 | 6 This program is free software; you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
11 This program is distributed in the hope that it will be useful, | |
1283 | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
4020 | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License along | |
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 | 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 | 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 | 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 | 50 #endif |
14 | 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 | 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 | 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 | 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 | 71 # endif |
988
ba13cef00d11
replace with new version from libc
Jim Meyering <jim@meyering.net>
parents:
693
diff
changeset
|
72 #endif |