diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-06-15 20:40:45 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-06-15 20:40:45 +0000 |
commit | f9b194f609464a2001d5881770c1d04bfb7a681c (patch) | |
tree | c37d2e13f3dcc262cdbff972b1bd866abef966da /ext/xml/compat.c | |
parent | 445c7107335c93f0a9c189bb608d0ae016404a88 (diff) | |
download | php-git-f9b194f609464a2001d5881770c1d04bfb7a681c.tar.gz |
Removed xmlMemSetup() code as it doesn't help at all.
Diffstat (limited to 'ext/xml/compat.c')
-rw-r--r-- | ext/xml/compat.c | 30 |
1 files changed, 3 insertions, 27 deletions
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 */ |