An assignment to a local variable, which was used to access the IDC node
* xmlschemas.c: An assignment to a local variable, which was
used to access the IDC node list, was missing after the
reallocation of the list (reported by Fabrice GUY
bug #322411). Renamed the define ENABLE_IDC_NODE_TABLES
to ENABLE_IDC_NODE_TABLES_TEST and *disabled* it, since
it is used to force bubbling of IDC node tables even
if not necessary; this was intended to be used for test
purposes, but I obviously missed to disable it (although
it apparently helped finding the bug).
diff --git a/xmlschemas.c b/xmlschemas.c
index f850458..fc08349 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -98,7 +98,7 @@
/* #define ENABLE_NAMED_LOCALS */
-#define ENABLE_IDC_NODE_TABLES
+/* #define ENABLE_IDC_NODE_TABLES_TEST */
#define DUMP_CONTENT_MODEL
@@ -23261,13 +23261,14 @@
xmlSchemaVErrMemory(NULL,
"re-allocating IDC list of node-table items", NULL);
goto internal_error;
- }
- }
+ }
+ }
+ parNodes = parBind->nodeTable;
/*
* Append the new node-table entry to the 'new node-table
* entries' section.
*/
- parBind->nodeTable[parBind->nbNodes++] = node;
+ parNodes[parBind->nbNodes++] = node;
}
}
@@ -27491,7 +27492,7 @@
vctxt->skipDepth = -1;
vctxt->xsiAssemble = 0;
vctxt->hasKeyrefs = 0;
-#ifdef ENABLE_IDC_NODE_TABLES
+#ifdef ENABLE_IDC_NODE_TABLES_TEST
vctxt->createIDCNodeTables = 1;
#else
vctxt->createIDCNodeTables = 0;