[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: switched coreutils to new regex implementation
From: |
Paul Eggert |
Subject: |
Re: switched coreutils to new regex implementation |
Date: |
Fri, 08 Jul 2005 11:01:34 -0700 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
Eric Blake <address@hidden> writes:
> 2005-07-08 Eric Blake <address@hidden> (tiny change)
>
> * regcomp.c (init_dfa, build_range_exp): Store __btowc value
> in wint_t, not wchar_t.
Thanks for reporting that. I installed the following
(slightly-different) patch into gnulib (and coreutils), and filed a
bug report with glibc
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=1057>.
2005-07-08 Eric Blake <address@hidden> (tiny change)
and Paul Eggert <address@hidden>
* config/srclist.txt: Comment out regcomp.c, since we have a porting fix
now.
* lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
in wint_t, not wchar_t. Remove now-unnecessary cast.
Index: config/srclist.txt
===================================================================
RCS file: /cvsroot/gnulib/gnulib/config/srclist.txt,v
retrieving revision 1.65
diff -p -u -r1.65 srclist.txt
--- config/srclist.txt 7 Jul 2005 08:08:39 -0000 1.65
+++ config/srclist.txt 8 Jul 2005 17:43:55 -0000
@@ -93,11 +93,12 @@ $LIBCSRC/stdlib/getsubopt.c lib gpl
#$LIBCSRC/posix/getopt.h lib gpl (getopt_.h in gnulib)
#$LIBCSRC/posix/getopt1.c lib gpl
#$LIBCSRC/posix/getopt_int.h lib gpl
-$LIBCSRC/posix/regcomp.c lib gpl
+# regcomp.c contains a porting fix
+#$LIBCSRC/posix/regcomp.c lib gpl
$LIBCSRC/posix/regex.c lib gpl
$LIBCSRC/posix/regex.h lib gpl
$LIBCSRC/posix/regex_internal.c lib gpl
-# regex_internal.h contains a porting fix (glibc defines __mempcpy)
+# regex_internal.h contains a porting fix
#$LIBCSRC/posix/regex_internal.h lib gpl
$LIBCSRC/posix/regexec.c lib gpl
# c89 changes $LIBCSRC/string/strdup.c lib gpl
Index: lib/regcomp.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/regcomp.c,v
retrieving revision 1.1
diff -p -u -r1.1 regcomp.c
--- lib/regcomp.c 7 Jul 2005 08:08:39 -0000 1.1
+++ lib/regcomp.c 8 Jul 2005 17:43:55 -0000
@@ -917,11 +917,11 @@ init_dfa (dfa, pat_len)
for (i = 0, ch = 0; i < BITSET_UINTS; ++i)
for (j = 0; j < UINT_BITS; ++j, ++ch)
{
- wchar_t wch = __btowc (ch);
+ wint_t wch = __btowc (ch);
if (wch != WEOF)
dfa->sb_char[i] |= 1 << j;
# ifndef _LIBC
- if (isascii (ch) && wch != (wchar_t) ch)
+ if (isascii (ch) && wch != ch)
dfa->map_notascii = 1;
# endif
}
@@ -2682,7 +2682,8 @@ build_range_exp (sbcset, start_elem, end
# ifdef RE_ENABLE_I18N
{
- wchar_t wc, start_wc, end_wc;
+ wchar_t wc;
+ wint_t start_wc, end_wc;
wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch