Commit 2582a338 authored by Daniel Veillard's avatar Daniel Veillard
Browse files

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
parent ee1d6926
Sun Apr 18 21:46:17 CEST 2004 Daniel Veillard <daniel@veillard.com>
* 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
Sun Apr 18 16:57:02 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
* libxml.spec.in: keep the ChangeLog compressed
......
......@@ -222,6 +222,7 @@ struct _xmlSchemaType {
xmlSchemaTypePtr baseType;
xmlSchemaFacetPtr facets;
struct _xmlSchemaType *redef;/* possible redefinitions for the type */
int recurse;
};
/*
......
......@@ -546,6 +546,7 @@ typedef enum {
XML_SCHEMAP_NOT_SCHEMA, /* 1771 */
XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1772 */
XML_SCHEMAP_INVALID_ATTR_USE, /* 1723 */
XML_SCHEMAP_RECURSIVE, /* 1724 */
XML_SCHEMAV_NOROOT = 1800,
XML_SCHEMAV_UNDECLAREDELEM, /* 1801 */
XML_SCHEMAV_NOTTOPLEVEL, /* 1802 */
......
......@@ -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;
......
......@@ -10917,7 +10917,12 @@ xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr ctxt,
case XPATH_BOOLEAN:
return(res->boolval);
case XPATH_NUMBER:
#ifdef WIN32
return(((res->floatval == ctxt->context->proximityPosition) &&
(!xmlXPathIsNaN(res->floatval)) /* MSC pbm Mark Vadoc !*/);
#else
return(res->floatval == ctxt->context->proximityPosition);
#endif
case XPATH_NODESET:
case XPATH_XSLT_TREE:
if (res->nodesetval == NULL)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment