changeset 12351:0b80ccdc9aa4

regex: Fix fastmap for multibyte character ranges. * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead characters when a multibyte character range is included.
author Paolo Bonzini <bonzini@gnu.org>
date Wed, 25 Nov 2009 11:41:09 +0100
parents 2ea8aa487297
children a6f65d4b64bc
files ChangeLog lib/regcomp.c
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
+
+	regex: Fix fastmap for multibyte character ranges.
+	* lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
+	characters when a multibyte character range is included.
+
 2009-11-22  Andy Wingo  <wingo@pobox.com>
 
 	version-etc: work also with AM_INIT_AUTOMAKE's no-define option
--- a/lib/regcomp.c
+++ b/lib/regcomp.c
@@ -383,7 +383,7 @@
 	     applies to multibyte character sets; for single byte character
 	     sets, the SIMPLE_BRACKET again suffices.  */
 	  if (dfa->mb_cur_max > 1
-	      && (cset->nchar_classes || cset->non_match
+	      && (cset->nchar_classes || cset->non_match || cset->nranges
 # ifdef _LIBC
 		  || cset->nequiv_classes
 # endif /* _LIBC */