diff options
Diffstat (limited to 'xmlschemastypes.c')
-rw-r--r-- | xmlschemastypes.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/xmlschemastypes.c b/xmlschemastypes.c index 5f385990..ca381d38 100644 --- a/xmlschemastypes.c +++ b/xmlschemastypes.c @@ -7,6 +7,11 @@ * Daniel Veillard <veillard@redhat.com> */ +/* To avoid EBCDIC trouble when parsing on zOS */ +#if defined(__MVS__) +#pragma convert("ISO8859-1") +#endif + #define IN_LIBXML #include "libxml.h" @@ -614,6 +619,11 @@ xmlSchemaInitTypes(void) xmlSchemaTypesInitialized = 1; } +static void +xmlSchemaFreeTypeEntry(void *type, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlSchemaFreeType((xmlSchemaTypePtr) type); +} + /** * xmlSchemaCleanupTypes: * @@ -641,7 +651,7 @@ xmlSchemaCleanupTypes(void) { xmlFree((xmlSchemaParticlePtr) particle); xmlSchemaTypeAnyTypeDef->subtypes = NULL; } - xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType); + xmlHashFree(xmlSchemaTypesBank, xmlSchemaFreeTypeEntry); xmlSchemaTypesInitialized = 0; } @@ -5398,7 +5408,7 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet, if ((valType == XML_SCHEMAS_QNAME) || (valType == XML_SCHEMAS_NOTATION)) return (0); - /* No break on purpose. */ + /* Falls through. */ case XML_SCHEMA_FACET_MAXLENGTH: case XML_SCHEMA_FACET_MINLENGTH: { unsigned int len = 0; |