diff options
author | Daniel Veillard <veillard@redhat.com> | 2009-08-12 12:21:42 +0200 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2009-08-12 12:21:42 +0200 |
commit | 11e28e4dfb84804474a3d7a4bfb08bae8f00bc0a (patch) | |
tree | 62834b9ea940e4362844f008797737694be05c2e /xmlregexp.c | |
parent | eab3ac94c781e686c86c5a1502bf150f86750fd7 (diff) | |
download | android_external_libxml2-11e28e4dfb84804474a3d7a4bfb08bae8f00bc0a.tar.gz android_external_libxml2-11e28e4dfb84804474a3d7a4bfb08bae8f00bc0a.tar.bz2 android_external_libxml2-11e28e4dfb84804474a3d7a4bfb08bae8f00bc0a.zip |
570702 fix a bug in regexp determinism checking
* xmlregexp.c: xmlFAComputesDeterminism was bugged as it removed as
coalesced transitions on with sane source destination and atoms but
not looking at counters
Diffstat (limited to 'xmlregexp.c')
-rw-r--r-- | xmlregexp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/xmlregexp.c b/xmlregexp.c index 73598a53..5a48c7a8 100644 --- a/xmlregexp.c +++ b/xmlregexp.c @@ -2646,7 +2646,9 @@ xmlFAComputesDeterminism(xmlRegParserCtxtPtr ctxt) { continue; if (t2->atom != NULL) { if (t1->to == t2->to) { - if (xmlFAEqualAtoms(t1->atom, t2->atom)) + if (xmlFAEqualAtoms(t1->atom, t2->atom) && + (t1->counter == t2->counter) && + (t1->count == t2->count)) t2->to = -1; /* eliminated */ } } |