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

Reply via email to