return NULL;
}
- ZVAL_COPY(&offset_copy, offset);
- convert_to_long(&offset_copy);
- ZVAL_LONG(&offset_copy, dom_get_long(offset));
++ ZVAL_LONG(&offset_copy, zval_get_long(offset));
- zend_call_method_with_1_params(&object, Z_OBJCE_P(object), NULL, "item", &rv, &offset_copy);
-
- Z_DELREF_P(rv);
+ zend_call_method_with_1_params(object, Z_OBJCE_P(object), NULL, "item", rv, &offset_copy);
return rv;
} /* }}} end dom_nodelist_read_dimension */
int dom_nodelist_has_dimension(zval *object, zval *member, int check_empty TSRMLS_DC)
{
- zval *length, offset_copy;
- int ret;
-
- ZVAL_COPY(&offset_copy, member);
- convert_to_long(&offset_copy);
- long offset = dom_get_long(member);
++ zend_long offset = zval_get_long(member);
- if (Z_LVAL(offset_copy) < 0) {
+ if (offset < 0) {
return 0;
- }
-
- length = zend_read_property(Z_OBJCE_P(object), object, "length", sizeof("length") - 1, 0 TSRMLS_CC);
-
- ret = Z_LVAL(offset_copy) < Z_LVAL_P(length);
+ } else {
+ zval *length = zend_read_property(Z_OBJCE_P(object), object, "length", sizeof("length") - 1, 0 TSRMLS_CC);
- int ret = length && offset < Z_LVAL_P(length);
-
- FREE_ZVAL(length);
- return ret;
- return ret;
++ return length && offset < Z_LVAL_P(length);
+ }
} /* }}} end dom_nodelist_has_dimension */
#endif /* HAVE_DOM */