]> granicus.if.org Git - php/commitdiff
Removed xmlMemSetup() code as it doesn't help at all.
authorMoriyoshi Koizumi <moriyoshi@php.net>
Sun, 15 Jun 2003 20:40:45 +0000 (20:40 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Sun, 15 Jun 2003 20:40:45 +0000 (20:40 +0000)
ext/xml/compat.c
ext/xml/expat_compat.h

index 85515df6aaa237576b669feebc8548e248fe90eb..aab4a4f8be121f3e631db0fb3aac8f45510eeda5 100644 (file)
@@ -291,42 +291,18 @@ XML_ParserCreateNS(const XML_Char *encoding, const XML_Char sep)
        return XML_ParserCreate_MM(encoding, NULL, tmp);
 }
 
-static void *(*_expat_cpt_malloc_fcn)(size_t sz);
-
-static char *_expat_cpt_intn_strdup(const char *str)
-{
-       size_t len;
-       char *retval;
-
-       len = strlen(str);
-       if ((retval = _expat_cpt_malloc_fcn(len + 1)) == NULL) {
-               return NULL;
-       }
-       memcpy(retval, str, len + 1);
-
-       return retval;
-}
-
 XML_Parser
 XML_ParserCreate_MM(const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, const XML_Char *sep)
 {
        XML_Parser parser;
-       static XML_Memory_Handling_Suite mtemp_i = { malloc, realloc, free };
-
-       if (memsuite == NULL) {
-               memsuite = &mtemp_i;
-       }
-
-       _expat_cpt_malloc_fcn = memsuite->malloc_fcn; /* FIXME: not reentrant ! */
-
-       xmlMemSetup(memsuite->free_fcn, memsuite->malloc_fcn, memsuite->realloc_fcn, _expat_cpt_intn_strdup); /* WHOCANFIXME: not reentrant ! */
 
-       parser = (XML_Parser) memsuite->malloc_fcn(sizeof(struct _XML_Parser));
+       parser = (XML_Parser) emalloc(sizeof(struct _XML_Parser));
        memset(parser, 0, sizeof(struct _XML_Parser));
        parser->use_namespace = 0;
        parser->mem_hdlrs = *memsuite;
        parser->parser = xmlCreatePushParserCtxt((xmlSAXHandlerPtr) &php_xml_compat_handlers, (void *) parser, NULL, 0, NULL);
        if (parser->parser == NULL) {
+               efree(parser);
                return NULL;
        }
        if (encoding != NULL) {
@@ -572,7 +548,7 @@ XML_ParserFree(XML_Parser parser)
                xmlHashFree(parser->_reverse_ns_map, _free_ns_name);
        }
        xmlFreeParserCtxt(parser->parser);
-       parser->mem_hdlrs.free_fcn(parser);
+       efree(parser);
 }
 
 #endif /* LIBXML_EXPAT_COMPAT */
index 9760c4e89dc87351b65d3fd6005187e9a8ff4109..5652cbd526d598935905e2d89c02ec0c78debd10 100644 (file)
@@ -58,8 +58,6 @@ typedef struct _XML_Parser {
        void *user;
        xmlParserCtxtPtr parser;
 
-       XML_Memory_Handling_Suite        mem_hdlrs;
-
        XML_StartElementHandler          h_start_element;
        XML_EndElementHandler            h_end_element;
        XML_CharacterDataHandler         h_cdata;