diff options
Diffstat (limited to 'posix')
-rw-r--r-- | posix/Makefile | 3 | ||||
-rw-r--r-- | posix/bug-regex27.c | 64 | ||||
-rw-r--r-- | posix/bug-regex28.c | 75 | ||||
-rw-r--r-- | posix/getconf.c | 4 | ||||
-rw-r--r-- | posix/regcomp.c | 8 | ||||
-rw-r--r-- | posix/unistd.h | 10 | ||||
-rw-r--r-- | posix/wordexp.c | 4 |
7 files changed, 15 insertions, 153 deletions
diff --git a/posix/Makefile b/posix/Makefile index d17e976e3c..712e7c2069 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -81,8 +81,7 @@ tests := tstgetopt testfnm runtests runptests \ bug-regex13 bug-regex14 bug-regex15 bug-regex16 \ bug-regex17 bug-regex18 bug-regex19 bug-regex20 \ bug-regex21 bug-regex22 bug-regex23 bug-regex24 \ - bug-regex25 bug-regex26 bug-regex27 bug-regex28 \ - tst-nice tst-nanosleep tst-regex2 \ + bug-regex25 bug-regex26 tst-nice tst-nanosleep tst-regex2 \ transbug tst-rxspencer tst-pcre tst-boost \ bug-ga1 tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \ tst-getaddrinfo2 bug-glob1 bug-glob2 tst-sysconf \ diff --git a/posix/bug-regex27.c b/posix/bug-regex27.c deleted file mode 100644 index 327acd8684..0000000000 --- a/posix/bug-regex27.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Test REG_NEWLINE. - Copyright (C) 2007 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jakub@redhat.com>, 2007. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <regex.h> -#include <stdio.h> -#include <string.h> - -struct tests -{ - const char *regex; - const char *string; - int cflags; - int retval; -} tests[] = { - { "a.b", "a\nb", REG_EXTENDED | REG_NEWLINE, REG_NOMATCH }, - { "a.b", "a\nb", REG_EXTENDED, 0 }, - { "a[^x]b", "a\nb", REG_EXTENDED | REG_NEWLINE, REG_NOMATCH }, - { "a[^x]b", "a\nb", REG_EXTENDED, 0 } -}; - -int -main (void) -{ - regex_t r; - size_t i; - int ret = 0; - - for (i = 0; i < sizeof (tests) / sizeof (tests[i]); ++i) - { - memset (&r, 0, sizeof (r)); - if (regcomp (&r, tests[i].regex, tests[i].cflags)) - { - printf ("regcomp %zd failed\n", i); - ret = 1; - continue; - } - int rv = regexec (&r, tests[i].string, 0, NULL, 0); - if (rv != tests[i].retval) - { - printf ("regexec %zd unexpected value %d != %d\n", - i, rv, tests[i].retval); - ret = 1; - } - regfree (&r); - } - return ret; -} diff --git a/posix/bug-regex28.c b/posix/bug-regex28.c deleted file mode 100644 index e58a08fabe..0000000000 --- a/posix/bug-regex28.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Test RE_HAT_LISTS_NOT_NEWLINE and RE_DOT_NEWLINE. - Copyright (C) 2007 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jakub@redhat.com>, 2007. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <regex.h> -#include <stdio.h> -#include <string.h> - -struct tests -{ - const char *regex; - const char *string; - reg_syntax_t syntax; - int retval; -} tests[] = { -#define EGREP RE_SYNTAX_EGREP -#define EGREP_NL (RE_SYNTAX_EGREP | RE_DOT_NEWLINE) & ~RE_HAT_LISTS_NOT_NEWLINE - { "a.b", "a\nb", EGREP, -1 }, - { "a.b", "a\nb", EGREP_NL, 0 }, - { "a[^x]b", "a\nb", EGREP, -1 }, - { "a[^x]b", "a\nb", EGREP_NL, 0 }, - /* While \S and \W are internally handled as [^[:space:]] and [^[:alnum:]_], - RE_HAT_LISTS_NOT_NEWLINE did not make any difference, so ensure - it doesn't change. */ - { "a\\Sb", "a\nb", EGREP, -1 }, - { "a\\Sb", "a\nb", EGREP_NL, -1 }, - { "a\\Wb", "a\nb", EGREP, 0 }, - { "a\\Wb", "a\nb", EGREP_NL, 0 } -}; - -int -main (void) -{ - struct re_pattern_buffer r; - size_t i; - int ret = 0; - - for (i = 0; i < sizeof (tests) / sizeof (tests[i]); ++i) - { - re_set_syntax (tests[i].syntax); - memset (&r, 0, sizeof (r)); - if (re_compile_pattern (tests[i].regex, strlen (tests[i].regex), &r)) - { - printf ("re_compile_pattern %zd failed\n", i); - ret = 1; - continue; - } - size_t len = strlen (tests[i].string); - int rv = re_search (&r, tests[i].string, len, 0, len, NULL); - if (rv != tests[i].retval) - { - printf ("re_search %zd unexpected value %d != %d\n", - i, rv, tests[i].retval); - ret = 1; - } - regfree (&r); - } - return ret; -} diff --git a/posix/getconf.c b/posix/getconf.c index 3c5ffe454c..c7a9d57628 100644 --- a/posix/getconf.c +++ b/posix/getconf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 1995-2005, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 1995-2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify @@ -1008,7 +1008,7 @@ main (int argc, char *argv[]) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2006"); +"), "2007"); fprintf (stderr, gettext ("Written by %s.\n"), "Roland McGrath"); return 0; } diff --git a/posix/regcomp.c b/posix/regcomp.c index e99fd74924..78a1218cf8 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc. + Copyright (C) 2002,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -3019,7 +3019,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, #endif /* not RE_ENABLE_I18N */ non_match = 1; if (syntax & RE_HAT_LISTS_NOT_NEWLINE) - bitset_set (sbcset, '\n'); + bitset_set (sbcset, '\0'); re_string_skip_bytes (regexp, token_len); /* Skip a token. */ token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) @@ -3549,6 +3549,10 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, if (non_match) { #ifdef RE_ENABLE_I18N + /* + if (syntax & RE_HAT_LISTS_NOT_NEWLINE) + bitset_set(cset->sbcset, '\0'); + */ mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ } diff --git a/posix/unistd.h b/posix/unistd.h index 4e1e9dfaa2..c74190dfc3 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 1991-2002,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -56,9 +56,7 @@ __BEGIN_DECLS #define _POSIX2_LOCALEDEF 200112L /* X/Open version number to which the library conforms. It is selectable. */ -#ifdef __USE_XOPEN2K -# define _XOPEN_VERSION 600 -#elif defined __USE_UNIX98 +#ifdef __USE_UNIX98 # define _XOPEN_VERSION 500 #else # define _XOPEN_VERSION 4 @@ -561,7 +559,7 @@ extern long int pathconf (__const char *__path, int __name) extern long int fpathconf (int __fd, int __name) __THROW; /* Get the value of the system variable NAME. */ -extern long int sysconf (int __name) __THROW __attribute__ ((__const__)); +extern long int sysconf (int __name) __THROW; #ifdef __USE_POSIX2 /* Get the value of the string-valued system variable NAME. */ @@ -1062,7 +1060,7 @@ extern int lockf64 (int __fd, int __cmd, __off64_t __len) __wur; #if defined __USE_POSIX199309 || defined __USE_UNIX98 /* Synchronize at least the data part of a file with the underlying media. */ -extern int fdatasync (int __fildes); +extern int fdatasync (int __fildes) __THROW; #endif /* Use POSIX199309 */ diff --git a/posix/wordexp.c b/posix/wordexp.c index adece95ef8..765d14d81f 100644 --- a/posix/wordexp.c +++ b/posix/wordexp.c @@ -1809,7 +1809,7 @@ envsubst: /* Substitute parameter */ break; - if (free_value && value) + if (free_value) free (value); if (!colon_seen && value) @@ -1827,7 +1827,7 @@ envsubst: case ACT_NONNULL_SUBST: if (value && (*value || !colon_seen)) { - if (free_value && value) + if (free_value) free (value); value = pattern ? __strdup (pattern) : pattern; |