summaryrefslogtreecommitdiff
path: root/ext/dom/php_dom.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2014-04-16 15:52:59 +0200
committerNikita Popov <nikic@php.net>2014-04-16 17:14:34 +0200
commit39d12294fd2483c4634c16fb54cfe5d8e3356ecf (patch)
treefdd9353fba236ba4f35f343c58d57745b9b1b922 /ext/dom/php_dom.h
parent54c338acc1cff6d0375d3094af8a75c6d1c3a001 (diff)
downloadphp-git-39d12294fd2483c4634c16fb54cfe5d8e3356ecf.tar.gz
Mostly fix Dom XPath
Diffstat (limited to 'ext/dom/php_dom.h')
-rw-r--r--ext/dom/php_dom.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/dom/php_dom.h b/ext/dom/php_dom.h
index 8f6eba12c0..82ba681ff8 100644
--- a/ext/dom/php_dom.h
+++ b/ext/dom/php_dom.h
@@ -68,18 +68,24 @@ extern zend_module_entry dom_module_entry;
#define DOM_NODESET XML_XINCLUDE_START
typedef struct _dom_xpath_object {
- zend_object std;
void *ptr;
php_libxml_ref_obj *document;
HashTable *prop_handler;
- //??? zend_object_handle handle;
int registerPhpFunctions;
HashTable *registered_phpfunctions;
HashTable *node_list;
+ zend_object std;
} dom_xpath_object;
+static inline dom_xpath_object *php_xpath_obj_from_obj(zend_object *obj) {
+ return (dom_xpath_object*)((char*)(obj) - XtOffsetOf(dom_xpath_object, std));
+}
+
+#define Z_XPATHOBJ_P(zv) php_xpath_obj_from_obj(Z_OBJ_P((zv)))
+
typedef struct _dom_nnodemap_object {
dom_object *baseobj;
+ zval baseobj_zv;
int nodetype;
xmlHashTable *ht;
xmlChar *local;