Commit 27ffc806 by DJ Delorie

merge from glibc

From-SVN: r44138
parent 560dbedd
2001-07-18 Andreas Jaeger <aj@suse.de>
* xregex2.h: Place under LGPL version 2.1.
2001-07-10 Jeff Johnston <jjohnstn@redhat.com> 2001-07-10 Jeff Johnston <jjohnstn@redhat.com>
* xregex.h: New file to support libiberty regex. * xregex.h: New file to support libiberty regex.
......
/* Definitions for data structures and routines for the regular /* Definitions for data structures and routines for the regular
expression library, version 0.12. expression library, version 0.12.
Copyright (C) 1985,1989-1993,1995-1998, 2000 Free Software Foundation, Inc. Copyright (C) 1985,1989-1993,1995-1998, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib. the C library, however. The master source lives in /gd/gnu/lib.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as modify it under the terms of the GNU Lesser General Public
published by the Free Software Foundation; either version 2 of the License as published by the Free Software Foundation; either
License, or (at your option) any later version. 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, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; if not, write to the Free
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
Boston, MA 02111-1307, USA. */ 02111-1307 USA. */
#ifndef _REGEX_H #ifndef _REGEX_H
#define _REGEX_H 1 #define _REGEX_H 1
......
2001-07-18 Andreas Schwab <schwab@suse.de>
* regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
underscore character.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* regex.c: Limit string length printed in debug messages to 100
chars.
2001-07-18 Andreas Jaeger <aj@suse.de>
* regex.c: Place under LGPL version 2.1.
2001-07-10 Jeff Johnston <jjohnstn@redhat.com> 2001-07-10 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.in: Add support for regex code. * Makefile.in: Add support for regex code.
......
...@@ -3,26 +3,28 @@ ...@@ -3,26 +3,28 @@
(Implements POSIX draft P1003.2/D11.2, except for some of the (Implements POSIX draft P1003.2/D11.2, except for some of the
internationalization features.) internationalization features.)
Copyright (C) 1993-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1993-1999, 2000, 2001 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 The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as modify it under the terms of the GNU Lesser General Public
published by the Free Software Foundation; either version 2 of the License as published by the Free Software Foundation; either
License, or (at your option) any later version. 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, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Lesser General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; if not, write to the Free
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
Boston, MA 02111-1307, USA. */ 02111-1307 USA. */
/* This file has been modified for usage in libiberty. It includes "xregex.h" /* This file has been modified for usage in libiberty. It includes "xregex.h"
instead of <regex.h>. The "xregex.h" header file renames all external instead of <regex.h>. The "xregex.h" header file renames all external
routines with an "x" prefix so they do not collide with the native regex routines with an "x" prefix so they do not collide with the native regex
routines or with other components regex routines. */ routines or with other components regex routines. */
/* AIX requires this to be the first thing in the file. */
#if defined _AIX && !defined REGEX_MALLOC #if defined _AIX && !defined REGEX_MALLOC
#pragma alloca #pragma alloca
#endif #endif
...@@ -1184,6 +1186,8 @@ PREFIX(print_double_string) (where, string1, size1, string2, size2) ...@@ -1184,6 +1186,8 @@ PREFIX(print_double_string) (where, string1, size1, string2, size2)
printf ("(null)"); printf ("(null)");
else else
{ {
int cnt;
if (FIRST_STRING_P (where)) if (FIRST_STRING_P (where))
{ {
for (this_char = where - string1; this_char < size1; this_char++) for (this_char = where - string1; this_char < size1; this_char++)
...@@ -1192,8 +1196,16 @@ PREFIX(print_double_string) (where, string1, size1, string2, size2) ...@@ -1192,8 +1196,16 @@ PREFIX(print_double_string) (where, string1, size1, string2, size2)
where = string2; where = string2;
} }
cnt = 0;
for (this_char = where - string2; this_char < size2; this_char++) for (this_char = where - string2; this_char < size2; this_char++)
PUT_CHAR (string2[this_char]); {
PUT_CHAR (string2[this_char]);
if (++cnt > 100)
{
fputs ("...", stdout);
break;
}
}
} }
} }
...@@ -5339,7 +5351,9 @@ PREFIX(re_search_2) (bufp, string1, size1, string2, size2, startpos, range, ...@@ -5339,7 +5351,9 @@ PREFIX(re_search_2) (bufp, string1, size1, string2, size2, startpos, range,
/* Use internationalized API instead of SYNTAX. */ /* Use internationalized API instead of SYNTAX. */
# define WORDCHAR_P(d) \ # define WORDCHAR_P(d) \
(iswalnum ((wint_t)((d) == end1 ? *string2 \ (iswalnum ((wint_t)((d) == end1 ? *string2 \
: (d) == string2 - 1 ? *(end1 - 1) : *(d))) != 0) : (d) == string2 - 1 ? *(end1 - 1) : *(d))) != 0 \
|| ((d) == end1 ? *string2 \
: (d) == string2 - 1 ? *(end1 - 1) : *(d)) == L'_')
#else /* BYTE */ #else /* BYTE */
# define WORDCHAR_P(d) \ # define WORDCHAR_P(d) \
(SYNTAX ((d) == end1 ? *string2 \ (SYNTAX ((d) == end1 ? *string2 \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment