diff --git a/entities.c b/entities.c index 78571e02..8818f45a 100644 --- a/entities.c +++ b/entities.c @@ -148,6 +148,18 @@ void xmlInitializePredefinedEntities(void) { } } +/** + * xmlCleanupPredefinedEntities: + * + * Cleanup up the predefined entities table. + */ +void xmlCleanupPredefinedEntities(void) { + if (xmlPredefinedEntities == NULL) return; + + xmlFreeEntitiesTable(xmlPredefinedEntities); + xmlPredefinedEntities = NULL; +} + /** * xmlGetPredefinedEntity: * @name: the entity name diff --git a/entities.h b/entities.h index 67180b1b..858662ff 100644 --- a/entities.h +++ b/entities.h @@ -88,6 +88,7 @@ void xmlFreeEntitiesTable (xmlEntitiesTablePtr table); void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table); xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table); +void xmlCleanupPredefinedEntities(void); #ifdef __cplusplus } diff --git a/include/libxml/entities.h b/include/libxml/entities.h index 67180b1b..858662ff 100644 --- a/include/libxml/entities.h +++ b/include/libxml/entities.h @@ -88,6 +88,7 @@ void xmlFreeEntitiesTable (xmlEntitiesTablePtr table); void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table); xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table); +void xmlCleanupPredefinedEntities(void); #ifdef __cplusplus }