colder Sat May 3 15:09:37 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/simplexml/tests 035.phpt
Modified files: /php-src/ext/simplexml simplexml.c Log: MFH: Fix #44484 (define SimpleXMLElement::__toString()) http://cvs.php.net/viewvc.cgi/php-src/ext/simplexml/simplexml.c?r1=1.151.2.22.2.35.2.12&r2=1.151.2.22.2.35.2.13&diff_format=u Index: php-src/ext/simplexml/simplexml.c diff -u php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.12 php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.13 --- php-src/ext/simplexml/simplexml.c:1.151.2.22.2.35.2.12 Thu Mar 20 16:48:09 2008 +++ php-src/ext/simplexml/simplexml.c Sat May 3 15:09:37 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: simplexml.c,v 1.151.2.22.2.35.2.12 2008/03/20 16:48:09 rrichards Exp $ */ +/* $Id: simplexml.c,v 1.151.2.22.2.35.2.13 2008/05/03 15:09:37 colder Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1794,6 +1794,23 @@ } /* }}} */ +/* {{{ proto object SimpleXMLElement::__toString() U + Returns the string content */ +SXE_METHOD(__toString) +{ + zval *result; + + ALLOC_INIT_ZVAL(result); + + if (sxe_object_cast(getThis(), result, IS_STRING TSRMLS_CC) == SUCCESS) { + RETURN_ZVAL(result, 1, 1); + } else { + zval_ptr_dtor(&result); + RETURN_EMPTY_STRING(); + } +} +/* }}} */ + static int sxe_count_elements(zval *object, long *count TSRMLS_DC) /* {{{ */ { php_sxe_object *sxe; @@ -2412,6 +2429,7 @@ SXE_ME(getName, NULL, ZEND_ACC_PUBLIC) SXE_ME(addChild, NULL, ZEND_ACC_PUBLIC) SXE_ME(addAttribute, NULL, ZEND_ACC_PUBLIC) + SXE_ME(__toString, NULL, ZEND_ACC_PUBLIC) {NULL, NULL, NULL} }; /* }}} */ @@ -2460,7 +2478,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "Simplexml support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.151.2.22.2.35.2.12 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.151.2.22.2.35.2.13 $"); php_info_print_table_row(2, "Schema support", #ifdef LIBXML_SCHEMAS_ENABLED "enabled"); http://cvs.php.net/viewvc.cgi/php-src/ext/simplexml/tests/035.phpt?view=markup&rev=1.1 Index: php-src/ext/simplexml/tests/035.phpt +++ php-src/ext/simplexml/tests/035.phpt --TEST-- SimpleXML: __toString --SKIPIF-- <?php if (!extension_loaded("simplexml")) print "skip"; ?> --FILE-- <?php $string = '<?xml version="1.0"?> <foo><bar> <p>Blah 1</p> <p>Blah 2</p> <p>Blah 3</p> <tt>Blah 4</tt> </bar></foo> '; $foo = simplexml_load_string($string); $p = $foo->bar->p; echo $p."\n"; echo $p->__toString()."\n"; ?> ==Done== --EXPECT-- Blah 1 Blah 1 ==Done== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php