]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/minidom/minidom.c
minidom.c : fixed memory leak
[helm.git] / helm / minidom / minidom.c
index 5d380cce9c91beecd54862e96e6cad4422f9b13e..ef0d1f34b31bef65c7b95921ab98b15212b079a9 100644 (file)
@@ -53,7 +53,6 @@ mdom_string_free(mDOMStringRef s)
 mDOMDocRef
 mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resolver)
 {
-  xmlSAXHandler sax;
   xmlParserCtxtPtr ctxt;
   mDOMDocRef doc;
 
@@ -61,18 +60,14 @@ mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resol
 
   xmlSubstituteEntitiesDefault(subst);
   
-  sax = xmlDefaultSAXHandler;
-  sax.getEntity = entity_resolver;
-  
   ctxt = xmlCreateFileParserCtxt(file_name);
   if (ctxt == NULL) return NULL;
-  
-  ctxt->sax = &sax;
+  g_assert(ctxt->sax != NULL);
+  ctxt->sax->getEntity = entity_resolver;
   
   xmlParseDocument(ctxt);
   
   doc = ctxt->myDoc;
-  ctxt->sax = NULL;
   xmlFreeParserCtxt(ctxt);
 
   return doc;