diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | dfa.c | 13 | ||||
-rw-r--r-- | test/ChangeLog | 7 | ||||
-rw-r--r-- | test/Makefile.am | 5 | ||||
-rw-r--r-- | test/Makefile.in | 10 | ||||
-rw-r--r-- | test/Maketests | 5 |
6 files changed, 30 insertions, 18 deletions
@@ -1,3 +1,11 @@ +2013-06-24 Arnold D. Robbins <arnold@skeeve.com> + + * dfa.c (copytoks): Rewrite to call addtok_mb() directly. Avoids + problems with multibyte characters inside character sets. + Thanks to Steven Daniels <stevendaniels88@gmail.com> for reporting + the problem. Much thanks to Mike Haertel <mike@ducky.net> for the + analysis and fix. + 2013-06-24 Eli Zaretskii <eliz@gnu.org> * io.c: Move #include "popen.h" out of the HAVE_SOCKETS condition, @@ -1847,13 +1847,12 @@ copytoks (size_t tindex, size_t ntokens) { size_t i; - for (i = 0; i < ntokens; ++i) - { - addtok (dfa->tokens[tindex + i]); - /* Update index into multibyte csets. */ - if (MB_CUR_MAX > 1 && dfa->tokens[tindex + i] == MBCSET) - dfa->multibyte_prop[dfa->tindex - 1] = dfa->multibyte_prop[tindex + i]; - } + if (MB_CUR_MAX > 1) + for (i = 0; i < ntokens; ++i) + addtok_mb(dfa->tokens[tindex + i], dfa->multibyte_prop[tindex + i]); + else + for (i = 0; i < ntokens; ++i) + addtok_mb(dfa->tokens[tindex + i], 3); } static void diff --git a/test/ChangeLog b/test/ChangeLog index b3f87073..2eada5aa 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,4 +1,9 @@ -2013-06-22 Eli Zaretskii <eliz@gnu.org> +2013-06-24 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (clos1way): Move to here since Maketests gets + regenerated whenever Makefile.am is touched. + +2013-06-22 Eli Zaretskii <eliz@gnu.org> * Maketests (clos1way): Set AC_ALL=C, since clos1way.awk no longer does. diff --git a/test/Makefile.am b/test/Makefile.am index decb35c3..fb73a76f 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1833,6 +1833,11 @@ colonwarn: done > _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +clos1way: + @echo $@ + @AWKPATH=$(srcdir) LC_ALL=C $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + # Targets generated for other tests: include Maketests diff --git a/test/Makefile.in b/test/Makefile.in index ecdc0fd0..5bb3e201 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -2226,6 +2226,11 @@ colonwarn: do $(AWK) -f $(srcdir)/$@.awk $$i < $(srcdir)/$@.in ; \ done > _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +clos1way: + @echo $@ + @AWKPATH=$(srcdir) LC_ALL=C $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: @@ -3160,11 +3165,6 @@ backw: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -clos1way: - @echo $@ - @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ - delsub: @echo $@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 7ffbd13f..27b8749e 100644 --- a/test/Maketests +++ b/test/Maketests @@ -932,11 +932,6 @@ backw: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -clos1way: - @echo $@ - @AWKPATH=$(srcdir) LC_ALL=C $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ - delsub: @echo $@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ |