stas                                     Mon, 26 Dec 2011 05:01:46 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=321404

Log:
fix bug #60322 (ob_get_clean() now raises an E_NOTICE if no buffers exist)

Bug: https://bugs.php.net/60322 (error getting bug information)
      
Changed paths:
    U   php/php-src/branches/PHP_5_4/main/output.c
    A   php/php-src/branches/PHP_5_4/tests/output/bug60322.phpt
    U   php/php-src/trunk/main/output.c
    A   php/php-src/trunk/tests/output/bug60322.phpt

Modified: php/php-src/branches/PHP_5_4/main/output.c
===================================================================
--- php/php-src/branches/PHP_5_4/main/output.c  2011-12-26 04:56:06 UTC (rev 
321403)
+++ php/php-src/branches/PHP_5_4/main/output.c  2011-12-26 05:01:46 UTC (rev 
321404)
@@ -1360,6 +1360,10 @@
                return;
        }

+       if(!OG(active)) {
+               RETURN_FALSE;
+       }
+
        if (php_output_get_contents(return_value TSRMLS_CC) == FAILURE) {
                php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed 
to delete buffer. No buffer to delete");
                RETURN_FALSE;

Added: php/php-src/branches/PHP_5_4/tests/output/bug60322.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/tests/output/bug60322.phpt                     
        (rev 0)
+++ php/php-src/branches/PHP_5_4/tests/output/bug60322.phpt     2011-12-26 
05:01:46 UTC (rev 321404)
@@ -0,0 +1,8 @@
+--TEST--
+Bug #60322 (ob_get_clean() now raises an E_NOTICE if no buffers exist)
+--FILE--
+<?php
+while(ob_get_clean()) ;
+var_dump(ob_get_clean());
+--EXPECT--
+bool(false)

Modified: php/php-src/trunk/main/output.c
===================================================================
--- php/php-src/trunk/main/output.c     2011-12-26 04:56:06 UTC (rev 321403)
+++ php/php-src/trunk/main/output.c     2011-12-26 05:01:46 UTC (rev 321404)
@@ -1360,6 +1360,10 @@
                return;
        }

+       if(!OG(active)) {
+               RETURN_FALSE;
+       }
+
        if (php_output_get_contents(return_value TSRMLS_CC) == FAILURE) {
                php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed 
to delete buffer. No buffer to delete");
                RETURN_FALSE;

Added: php/php-src/trunk/tests/output/bug60322.phpt
===================================================================
--- php/php-src/trunk/tests/output/bug60322.phpt                                
(rev 0)
+++ php/php-src/trunk/tests/output/bug60322.phpt        2011-12-26 05:01:46 UTC 
(rev 321404)
@@ -0,0 +1,8 @@
+--TEST--
+Bug #60322 (ob_get_clean() now raises an E_NOTICE if no buffers exist)
+--FILE--
+<?php
+while(ob_get_clean()) ;
+var_dump(ob_get_clean());
+--EXPECT--
+bool(false)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to