summaryrefslogtreecommitdiff
path: root/xmlschemas.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2004-04-18 19:49:46 +0000
committerDaniel Veillard <veillard@src.gnome.org>2004-04-18 19:49:46 +0000
commit2582a338bff77569b5aadbba8f40e1f3862d090d (patch)
tree8dc5593b5071d18c1d2df20f070cf9ae0c56ebf4 /xmlschemas.c
parentee1d6926f36a4740ed4ae7f2318f5491db44c252 (diff)
downloadlibxml2-2582a338bff77569b5aadbba8f40e1f3862d090d.tar.gz
work around Microsoft compiler NaN bug raise reported by Mark Vakoc fixed
* xpath.c: work around Microsoft compiler NaN bug raise reported by Mark Vakoc * xmlschemas.c include/libxml/schemasInternals.h include/libxml/xmlerror.h: fixed a recusive expection schemas compilation error raised by taihei goi Daniel
Diffstat (limited to 'xmlschemas.c')
-rw-r--r--xmlschemas.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/xmlschemas.c b/xmlschemas.c
index f6bc63d4..25f94001 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -4548,7 +4548,16 @@ xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
typeDecl->base, name);
return;
}
+ if (typeDecl->recurse) {
+ xmlSchemaPErr(ctxt, typeDecl->node,
+ XML_SCHEMAP_UNKNOWN_BASE_TYPE,
+ "Schemas: extension type %s is recursive\n",
+ name, NULL);
+ return;
+ }
+ typeDecl->recurse = 1;
xmlSchemaTypeFixup(base, ctxt, NULL);
+ typeDecl->recurse = 0;
if (explicitContentType == XML_SCHEMA_CONTENT_EMPTY) {
/* 2.1 */
typeDecl->contentType = base->contentType;