From: Moriyoshi Koizumi Date: Sun, 15 Jun 2003 20:40:45 +0000 (+0000) Subject: Removed xmlMemSetup() code as it doesn't help at all. X-Git-Tag: RELEASE_1_0_2~221 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9b194f609464a2001d5881770c1d04bfb7a681c;p=php Removed xmlMemSetup() code as it doesn't help at all. --- diff --git a/ext/xml/compat.c b/ext/xml/compat.c index 85515df6aa..aab4a4f8be 100644 --- a/ext/xml/compat.c +++ b/ext/xml/compat.c @@ -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 */ diff --git a/ext/xml/expat_compat.h b/ext/xml/expat_compat.h index 9760c4e89d..5652cbd526 100644 --- a/ext/xml/expat_compat.h +++ b/ext/xml/expat_compat.h @@ -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;