]> granicus.if.org Git - libexpat/commitdiff
Patch for bug/feature request #651754.
authorKarl Waclawek <kwaclaw@users.sourceforge.net>
Thu, 16 Jan 2003 22:03:42 +0000 (22:03 +0000)
committerKarl Waclawek <kwaclaw@users.sourceforge.net>
Thu, 16 Jan 2003 22:03:42 +0000 (22:03 +0000)
Implemented with two API additions:
1) For element declaration handler support:
  XML_FreeContentModel
2) Exposing Expat's memory allocation functions:
  XML_MemMalloc
  XML_MemRealloc
  XML_MemFree

expat/lib/expat.h
expat/lib/libexpat.def
expat/lib/libexpatw.def
expat/lib/xmlparse.c

index 1e49c2c9068c286eae37955033fdbb6f99576293..0b70302dbf92e59d67690ce14bdb3c7775f9e15b 100644 (file)
@@ -208,7 +208,7 @@ XMLPARSEAPI(XML_Parser)
 XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
 
 
-/* Constructs a new parser using the memory management suit referred to
+/* Constructs a new parser using the memory management suite referred to
    by memsuite. If memsuite is NULL, then use the standard library memory
    suite. If namespaceSeparator is non-NULL it creates a parser with
    namespace processing as described above. The character pointed at
@@ -849,6 +849,20 @@ XML_GetInputContext(XML_Parser parser,
 #define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
 #define XML_GetErrorByteIndex    XML_GetCurrentByteIndex
 
+/* Frees the content model passed to the element declaration handler */
+XMLPARSEAPI(void)
+XML_FreeContentModel(XML_Parser parser, XML_Content *model);
+
+/* Exposing the memory handling functions used in Expat */
+XMLPARSEAPI(void *)
+XML_MemMalloc(XML_Parser parser, size_t size);
+
+XMLPARSEAPI(void *)
+XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
+
+XMLPARSEAPI(void)
+XML_MemFree(XML_Parser parser, void *ptr);
+
 /* Frees memory used by the parser. */
 XMLPARSEAPI(void)
 XML_ParserFree(XML_Parser parser);
index db73471ce23445dde1c5c945ce762e2d2ca8a343..372076ad68f30347d5e093680ef1c6f654c1c28e 100644 (file)
@@ -56,8 +56,14 @@ EXPORTS
   XML_SetUserData @52
   XML_SetXmlDeclHandler @53
   XML_UseParserAsHandlerArg @54
-; added with version 1.95.4
+; added with version 1.95.3
   XML_ParserReset @55
   XML_SetSkippedEntityHandler @56
+; added with version 1.95.4
   XML_GetFeatureList @57
   XML_UseForeignDTD @58
+; added with version 1.95.6
+  XML_FreeContentModel @59
+  XML_MemMalloc @60
+  XML_MemRealloc @61
+  XML_MemFree @62
index a7520e580e261f19f1cd9de0a6127464bc41e888..1eedc6ad5215f84639fce138979b063f2bd2d378 100644 (file)
@@ -56,8 +56,14 @@ EXPORTS
   XML_SetUserData @52
   XML_SetXmlDeclHandler @53
   XML_UseParserAsHandlerArg @54
-; added with version 1.95.4
+; added with version 1.95.3
   XML_ParserReset @55
   XML_SetSkippedEntityHandler @56
+; added with version 1.95.4
   XML_GetFeatureList @57
   XML_UseForeignDTD @58
+; added with version 1.95.6
+  XML_FreeContentModel @59
+  XML_MemMalloc @60
+  XML_MemRealloc @61
+  XML_MemFree @62
index 2c1080bfb1c49865ce3881a8833c1020d8aeb99a..43e50bf94c15a782e193e337e5ee3e703808e578 100644 (file)
@@ -1583,6 +1583,30 @@ XML_GetCurrentColumnNumber(XML_Parser parser)
   return position.columnNumber;
 }
 
+void
+XML_FreeContentModel(XML_Parser parser, XML_Content *model)
+{
+  FREE(model);
+}
+
+void *
+XML_MemMalloc(XML_Parser parser, size_t size)
+{
+  return MALLOC(size);
+}
+
+void *
+XML_MemRealloc(XML_Parser parser, void *ptr, size_t size)
+{
+  return REALLOC(ptr, size);
+}
+
+void
+XML_MemFree(XML_Parser parser, void *ptr)
+{
+  FREE(ptr);
+}
+
 void
 XML_DefaultCurrent(XML_Parser parser)
 {