diff options
Diffstat (limited to 'ext/simplexml/sxe.c')
| -rw-r--r-- | ext/simplexml/sxe.c | 44 |
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); |
