]> granicus.if.org Git - php/commitdiff
Implement get callback for SimpleXML (it now supports pre/post increment
authorZeev Suraski <zeev@php.net>
Tue, 10 Feb 2004 09:30:38 +0000 (09:30 +0000)
committerZeev Suraski <zeev@php.net>
Tue, 10 Feb 2004 09:30:38 +0000 (09:30 +0000)
as well as binary-assign-ops)

ext/simplexml/simplexml.c

index b7735f80b115b29ea53fa0047074bf7a4328babf..7749013ff345e042b425bc688711d9b9af7b261e 100644 (file)
@@ -1013,6 +1013,21 @@ sxe_object_cast(zval *readobj, zval *writeobj, int type, int should_free TSRMLS_
 }
 /* }}} */
 
+static zval *sxe_get_value(zval *z TSRMLS_DC)
+{
+       zval *retval;
+
+       MAKE_STD_ZVAL(retval);
+
+       if (sxe_object_cast(z, retval, IS_STRING, 0 TSRMLS_CC)==FAILURE) {
+               zend_error(E_ERROR, "Unable to cast node to string");
+       }
+
+       retval->refcount = 0;
+       return retval;
+}
+
+
 static zend_object_handlers sxe_object_handlers = {
        ZEND_OBJECTS_STORE_HANDLERS,
        sxe_property_read,
@@ -1020,7 +1035,7 @@ static zend_object_handlers sxe_object_handlers = {
        sxe_dimension_read,
        sxe_dimension_write,
        NULL,
-       NULL,
+       sxe_get_value,                  /* get */
        NULL,
        sxe_property_exists,
        sxe_property_delete,