summaryrefslogtreecommitdiff
path: root/ext/simplexml/sxe.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/simplexml/sxe.c')
-rw-r--r--ext/simplexml/sxe.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/ext/simplexml/sxe.c b/ext/simplexml/sxe.c
index 9a513e946f..e237d2fb95 100644
--- a/ext/simplexml/sxe.c
+++ b/ext/simplexml/sxe.c
@@ -46,7 +46,7 @@ PHP_METHOD(ce_SimpleXMLIterator, rewind)
return;
}
- iter.sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ iter.sxe = Z_SXEOBJ_P(getThis());
ce_SimpleXMLElement->iterator_funcs.funcs->rewind((zend_object_iterator*)&iter TSRMLS_CC);
}
/* }}} */
@@ -55,13 +55,13 @@ PHP_METHOD(ce_SimpleXMLIterator, rewind)
Check whether iteration is valid */
PHP_METHOD(ce_SimpleXMLIterator, valid)
{
- php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ php_sxe_object *sxe = Z_SXEOBJ_P(getThis());
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- RETURN_BOOL(sxe->iter.data);
+ RETURN_BOOL(!Z_ISUNDEF(sxe->iter.data));
}
/* }}} */
@@ -69,17 +69,17 @@ PHP_METHOD(ce_SimpleXMLIterator, valid)
Get current element */
PHP_METHOD(ce_SimpleXMLIterator, current)
{
- php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ php_sxe_object *sxe = Z_SXEOBJ_P(getThis());
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- if (!sxe->iter.data) {
+ if (Z_ISUNDEF(sxe->iter.data)) {
return; /* return NULL */
}
- RETURN_ZVAL(sxe->iter.data, 1, 0);
+ RETURN_ZVAL(&sxe->iter.data, 1, 0);
}
/* }}} */
@@ -89,20 +89,20 @@ PHP_METHOD(ce_SimpleXMLIterator, key)
{
xmlNodePtr curnode;
php_sxe_object *intern;
- php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ php_sxe_object *sxe = Z_SXEOBJ_P(getThis());
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- if (!sxe->iter.data) {
+ if (Z_ISUNDEF(sxe->iter.data)) {
RETURN_FALSE;
}
- intern = (php_sxe_object *)zend_object_store_get_object(sxe->iter.data TSRMLS_CC);
+ intern = Z_SXEOBJ_P(&sxe->iter.data);
if (intern != NULL && intern->node != NULL) {
curnode = (xmlNodePtr)((php_libxml_node_ptr *)intern->node)->node;
- RETURN_STRINGL((char*)curnode->name, xmlStrlen(curnode->name), 1);
+ RETURN_STRINGL((char*)curnode->name, xmlStrlen(curnode->name));
}
RETURN_FALSE;
@@ -119,7 +119,7 @@ PHP_METHOD(ce_SimpleXMLIterator, next)
return;
}
- iter.sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ iter.sxe = Z_SXEOBJ_P(getThis());
ce_SimpleXMLElement->iterator_funcs.funcs->move_forward((zend_object_iterator*)&iter TSRMLS_CC);
}
/* }}} */
@@ -128,7 +128,7 @@ PHP_METHOD(ce_SimpleXMLIterator, next)
Check whether element has children (elements) */
PHP_METHOD(ce_SimpleXMLIterator, hasChildren)
{
- php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ php_sxe_object *sxe = Z_SXEOBJ_P(getThis());
php_sxe_object *child;
xmlNodePtr node;
@@ -136,10 +136,10 @@ PHP_METHOD(ce_SimpleXMLIterator, hasChildren)
return;
}
- if (!sxe->iter.data || sxe->iter.type == SXE_ITER_ATTRLIST) {
+ if (Z_ISUNDEF(sxe->iter.data) || sxe->iter.type == SXE_ITER_ATTRLIST) {
RETURN_FALSE;
}
- child = php_sxe_fetch_object(sxe->iter.data TSRMLS_CC);
+ child = Z_SXEOBJ_P(&sxe->iter.data);
GET_NODE(child, node);
if (node) {
@@ -156,16 +156,16 @@ PHP_METHOD(ce_SimpleXMLIterator, hasChildren)
Get child element iterator */
PHP_METHOD(ce_SimpleXMLIterator, getChildren)
{
- php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC);
+ php_sxe_object *sxe = Z_SXEOBJ_P(getThis());
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- if (!sxe->iter.data || sxe->iter.type == SXE_ITER_ATTRLIST) {
+ if (Z_ISUNDEF(sxe->iter.data) || sxe->iter.type == SXE_ITER_ATTRLIST) {
return; /* return NULL */
}
- RETURN_ZVAL(sxe->iter.data, 1, 0);
+ RETURN_ZVAL(&sxe->iter.data, 1, 0);
}
/* {{{ arginfo */
@@ -187,19 +187,19 @@ static const zend_function_entry funcs_SimpleXMLIterator[] = {
PHP_MINIT_FUNCTION(sxe) /* {{{ */
{
- zend_class_entry **pce;
+ zend_class_entry *pce;
zend_class_entry sxi;
- if (zend_hash_find(CG(class_table), "simplexmlelement", sizeof("SimpleXMLElement"), (void **) &pce) == FAILURE) {
+ if ((pce = zend_hash_str_find_ptr(CG(class_table), "simplexmlelement", sizeof("SimpleXMLElement") - 1)) == NULL) {
ce_SimpleXMLElement = NULL;
ce_SimpleXMLIterator = NULL;
return SUCCESS; /* SimpleXML must be initialized before */
}
- ce_SimpleXMLElement = *pce;
+ ce_SimpleXMLElement = pce;
- INIT_CLASS_ENTRY_EX(sxi, "SimpleXMLIterator", strlen("SimpleXMLIterator"), funcs_SimpleXMLIterator);
- ce_SimpleXMLIterator = zend_register_internal_class_ex(&sxi, ce_SimpleXMLElement, NULL TSRMLS_CC);
+ INIT_CLASS_ENTRY_EX(sxi, "SimpleXMLIterator", sizeof("SimpleXMLIterator") - 1, funcs_SimpleXMLIterator);
+ ce_SimpleXMLIterator = zend_register_internal_class_ex(&sxi, ce_SimpleXMLElement TSRMLS_CC);
ce_SimpleXMLIterator->create_object = ce_SimpleXMLElement->create_object;
zend_class_implements(ce_SimpleXMLIterator TSRMLS_CC, 1, spl_ce_RecursiveIterator);