summaryrefslogtreecommitdiff
path: root/ext/xmlreader
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xmlreader')
-rw-r--r--ext/xmlreader/php_xmlreader.c2
-rw-r--r--ext/xmlreader/php_xmlreader.h8
2 files changed, 9 insertions, 1 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c
index af34f08cc2..b572c85ada 100644
--- a/ext/xmlreader/php_xmlreader.c
+++ b/ext/xmlreader/php_xmlreader.c
@@ -385,7 +385,7 @@ zend_object *xmlreader_objects_new(zend_class_entry *class_type)
{
xmlreader_object *intern;
- intern = ecalloc(1, sizeof(xmlreader_object) + sizeof(zval) * (class_type->default_properties_count - 1));
+ intern = ecalloc(1, sizeof(xmlreader_object) + zend_object_properties_size(class_type));
zend_object_std_init(&intern->std, class_type);
object_properties_init(&intern->std, class_type);
intern->prop_handler = &xmlreader_prop_handlers;
diff --git a/ext/xmlreader/php_xmlreader.h b/ext/xmlreader/php_xmlreader.h
index 47fbccf488..e07c126c8e 100644
--- a/ext/xmlreader/php_xmlreader.h
+++ b/ext/xmlreader/php_xmlreader.h
@@ -31,6 +31,14 @@ extern zend_module_entry xmlreader_module_entry;
#include "ext/libxml/php_libxml.h"
#include <libxml/xmlreader.h>
+/* If xmlreader and dom both are compiled statically,
+ no DLL import should be used in xmlreader for dom symbols. */
+#ifdef PHP_WIN32
+# if defined(HAVE_DOM) && !defined(COMPILE_DL_DOM)
+# define DOM_LOCAL_DEFINES 1
+# endif
+#endif
+
typedef struct _xmlreader_object {
xmlTextReaderPtr ptr;
/* strings must be set in input buffer as copy is required */