1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-26 20:25:14 +03:00

Workaround for bug #323510: substituted the epsilon transition for a

* xmlschemas.c: Workaround for bug #323510: substituted the
  epsilon transition for a labelled transition, in order to
  avoid a bug in xmlregexp.c which eliminated the epsilon
  transition and marked the initial state as final.
This commit is contained in:
Kasimier T. Buchcik 2005-12-12 15:13:40 +00:00
parent bc4cc9da77
commit 7ca5aedfc3
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,10 @@
Mon Dec 12 15:11:13 CET 2005 Kasimier Buchcik <libxml2-cvs@cazic.ne>
* xmlschemas.c: Workaround for bug #323510: substituted the
epsilon transition for a labelled transition, in order to
avoid a bug in xmlregexp.c which eliminated the epsilon
transition and marked the initial state as final.
Mon Dec 12 14:25:46 CET 2005 Daniel Veillard <daniel@veillard.com>
* xmlreader.c: Gary Coady pointed a memory leak in

View File

@ -12595,10 +12595,11 @@ xmlSchemaBuildContentModelForElement(xmlSchemaParserCtxtPtr ctxt,
} else if ((particle->maxOccurs >= UNBOUNDED) &&
(particle->minOccurs < 2)) {
/* Special case. */
start = ctxt->state;
start = ctxt->state;
ctxt->state = xmlAutomataNewTransition2(ctxt->am, start, NULL,
elemDecl->name, elemDecl->targetNamespace, elemDecl);
xmlAutomataNewEpsilon(ctxt->am, ctxt->state, start);
elemDecl->name, elemDecl->targetNamespace, elemDecl);
ctxt->state = xmlAutomataNewTransition2(ctxt->am, ctxt->state, ctxt->state,
elemDecl->name, elemDecl->targetNamespace, elemDecl);
} else {
int counter;
int maxOccurs = particle->maxOccurs == UNBOUNDED ?