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