static int le_domxmlpip;
static int le_domxmlcommentp;
static int le_domxmlnotationp;
-static int le_domxmlentityp;
+/*static int le_domxmlentityp;*/
static int le_domxmlentityrefp;
-static int le_domxmlnsp;
+/*static int le_domxmlnsp;*/
#if defined(LIBXML_XPATH_ENABLED)
static int le_xpathctxp;
ZEND_GET_MODULE(domxml)
#endif
+static void dom_object_set_data(void *obj, zval *wrapper) {
+ /*
+ char tmp[20];
+ sprintf(tmp, "%08X", obj);
+ fprintf(stderr, "Adding %s to hash\n", tmp);
+ */
+ ((xmlNodePtr) obj)->_private = wrapper;
+}
+
+static zval *dom_object_get_data(void *obj) {
+ /* char tmp[20];
+ sprintf(tmp, "%08X", obj);
+ fprintf(stderr, "Trying getting %s from object ...", tmp);
+ if(((xmlNodePtr) obj)->_private)
+ fprintf(stderr," found\n");
+ else
+ fprintf(stderr," not found\n"); */
+ return((zval *) (((xmlNodePtr) obj)->_private));
+}
+
static void php_free_xml_doc(zend_rsrc_list_entry *rsrc)
{
xmlDoc *doc = (xmlDoc *)rsrc->ptr;
/* fprintf(stderr, "Freeing document: %s\n", doc->name); */
- if(doc)
+
+ if (doc) {
+ zval *wrapper = dom_object_get_data(doc);
+ if (wrapper)
+ zval_ptr_dtor(&wrapper);
xmlFreeDoc(doc);
+ }
}
void php_free_xml_node(zend_rsrc_list_entry *rsrc) {
return obj;
}
-static void dom_object_set_data(void *obj, zval *wrapper) {
- char tmp[20];
- sprintf(tmp, "%08X", obj);
-/* fprintf(stderr, "Adding %s to hash\n", tmp); */
- ((xmlNodePtr) obj)->_private = wrapper;
-}
-
-static zval *dom_object_get_data(void *obj) {
-/* char tmp[20];
- sprintf(tmp, "%08X", obj);
- fprintf(stderr, "Trying getting %s from object ...", tmp);
- if(((xmlNodePtr) obj)->_private)
- fprintf(stderr," found\n");
- else
- fprintf(stderr," not found\n"); */
- return((zval *) (((xmlNodePtr) obj)->_private));
-}
-
static void php_dom_set_object(zval *wrapper, void *obj, int rsrc_type) {
zval *handle, *addr;
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(first, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(last, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(first, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(first, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) docp, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(last, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(child, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(child, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(child, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(child, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) attr, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) dtd, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
return;
}
node = node->next;
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(node, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) dtd, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) docp, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new(nodep, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_domobject_new((xmlNodePtr) docp, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
rv = php_xpathcontext_new(ctx, &ret);
SEPARATE_ZVAL(&rv);
*return_value = *rv;
+ FREE_ZVAL(rv);
}
/* }}} */
break;
case XPATH_USERS:
break;
+ case XPATH_XSLT_TREE:
+ break;
}
*return_value = *rv;
}