summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2003-05-06 19:38:49 +0000
committerSterling Hughes <sterling@php.net>2003-05-06 19:38:49 +0000
commita0351b093f43f9c2be5b45d6e08542adb4de419a (patch)
treec40e915b27205178d43cd88ee35cebf3d12e9eb1 /ext/xml/xml.c
parent33a10b342ec8104133699e796fb77e9c55c8eb38 (diff)
downloadphp-git-a0351b093f43f9c2be5b45d6e08542adb4de419a.tar.gz
Bundle libxml and add compatibility layer
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 15cae13b7b..04b654fae3 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -28,13 +28,13 @@
#include "php.h"
#define PHP_XML_INTERNAL
-#include "php_xml.h"
#include "zend_variables.h"
#include "ext/standard/php_string.h"
#include "ext/standard/info.h"
-#if HAVE_LIBEXPAT
+#if HAVE_XML
+#include "php_xml.h"
# include "ext/standard/head.h"
/* Short-term TODO list:
@@ -85,8 +85,8 @@ static int _xml_xmlcharlen(const XML_Char *);
static void _xml_add_to_info(xml_parser *parser,char *name);
inline static char *_xml_decode_tag(xml_parser *parser, const char *tag);
-void _xml_startElementHandler(void *, const char *, const char **);
-void _xml_endElementHandler(void *, const char *);
+void _xml_startElementHandler(void *, const XML_Char *, const XML_Char **);
+void _xml_endElementHandler(void *, const XML_Char *);
void _xml_characterDataHandler(void *, const XML_Char *, int);
void _xml_processingInstructionHandler(void *, const XML_Char *, const XML_Char *);
void _xml_defaultHandler(void *, const XML_Char *, int);
@@ -202,6 +202,10 @@ PHP_MINIT_FUNCTION(xml)
REGISTER_LONG_CONSTANT("XML_OPTION_TARGET_ENCODING", PHP_XML_OPTION_TARGET_ENCODING, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_TAGSTART", PHP_XML_OPTION_SKIP_TAGSTART, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("XML_OPTION_SKIP_WHITE", PHP_XML_OPTION_SKIP_WHITE, CONST_CS|CONST_PERSISTENT);
+
+#ifdef LIBXML_EXPAT_COMPAT
+ xmlMemSetup(_efree, _emalloc, _erealloc, _estrdup);
+#endif
return SUCCESS;
}
@@ -615,7 +619,7 @@ static char *_xml_decode_tag(xml_parser *parser, const char *tag)
/* }}} */
/* {{{ _xml_startElementHandler() */
-void _xml_startElementHandler(void *userData, const char *name, const char **attributes)
+void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Char **attributes)
{
xml_parser *parser = (xml_parser *)userData;
const char **attrs = attributes;
@@ -701,7 +705,7 @@ void _xml_startElementHandler(void *userData, const char *name, const char **att
/* }}} */
/* {{{ _xml_endElementHandler() */
-void _xml_endElementHandler(void *userData, const char *name)
+void _xml_endElementHandler(void *userData, const XML_Char *name)
{
xml_parser *parser = (xml_parser *)userData;
char *tag_name;