mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
- valid.c: (a? , b? , c? , ... , z?) was storing/restauring
state far too often, simple fix used to avoid it. Daniel
This commit is contained in:
13
valid.c
13
valid.c
@ -3417,6 +3417,19 @@ cont:
|
||||
CONT = CONT->c1;
|
||||
goto cont;
|
||||
case XML_ELEMENT_CONTENT_SEQ:
|
||||
/*
|
||||
* Small optimization.
|
||||
*/
|
||||
if ((CONT->c1->type == XML_ELEMENT_CONTENT_ELEMENT) &&
|
||||
((CONT->c1->ocur == XML_ELEMENT_CONTENT_OPT) ||
|
||||
(CONT->c1->ocur == XML_ELEMENT_CONTENT_MULT))) {
|
||||
if ((NODE == NULL) ||
|
||||
(!xmlStrEqual(NODE->name, CONT->c1->name))) {
|
||||
DEPTH++;
|
||||
CONT = CONT->c2;
|
||||
goto cont;
|
||||
}
|
||||
}
|
||||
DEPTH++;
|
||||
CONT = CONT->c1;
|
||||
goto cont;
|
||||
|
Reference in New Issue
Block a user