laruence                                 Mon, 31 Oct 2011 03:47:11 +0000

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

Log:
Fixed bug #60174 (Notice when array in method prototype error)
this should also exists in ext/reflection. since the new warning of "array to 
string convert" is introduced in zend_make_printable_zval which is used in 
ext/reflection too

Bug: https://bugs.php.net/60174 (Analyzed) Notice when array in method 
prototype error
      
Changed paths:
    U   php/php-src/branches/PHP_5_4/NEWS
    U   php/php-src/branches/PHP_5_4/Zend/zend_compile.c
    U   php/php-src/trunk/Zend/zend_compile.c

Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS   2011-10-30 15:48:19 UTC (rev 318598)
+++ php/php-src/branches/PHP_5_4/NEWS   2011-10-31 03:47:11 UTC (rev 318599)
@@ -13,6 +13,7 @@
 - Core:
   . Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when
     the data exceeds or is equal to 2048 bytes). (Pierre, Pascal Borreli)
+  . Fixed bug #60174 (Notice when array in method prototype error). Laruence

 - Oracle Database extension (OCI8):
   . Increased maxium Oracle error message buffer length for new 11.2.0.3 size

Modified: php/php-src/branches/PHP_5_4/Zend/zend_compile.c
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/zend_compile.c    2011-10-30 15:48:19 UTC 
(rev 318598)
+++ php/php-src/branches/PHP_5_4/Zend/zend_compile.c    2011-10-31 03:47:11 UTC 
(rev 318599)
@@ -3133,6 +3133,9 @@
                                                                *(offset++) = 
'.';
                                                        }
                                                        *(offset++) = '\'';
+                                               } else if (Z_TYPE_P(zv) == 
IS_ARRAY) {
+                                                       memcpy(offset, "Array", 
5);
+                                                       offset += 5;
                                                } else {
                                                        
zend_make_printable_zval(zv, &zv_copy, &use_copy);
                                                        
REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN(zv_copy));
@@ -3155,7 +3158,7 @@
                                *(offset++) = ' ';
                        }
                        arg_info++;
-                       REALLOC_BUF_IF_EXCEED(buf, offset, length, 23);
+                       REALLOC_BUF_IF_EXCEED(buf, offset, length, 32);
                }
        }
        *(offset++) = ')';

Modified: php/php-src/trunk/Zend/zend_compile.c
===================================================================
--- php/php-src/trunk/Zend/zend_compile.c       2011-10-30 15:48:19 UTC (rev 
318598)
+++ php/php-src/trunk/Zend/zend_compile.c       2011-10-31 03:47:11 UTC (rev 
318599)
@@ -3133,6 +3133,9 @@
                                                                *(offset++) = 
'.';
                                                        }
                                                        *(offset++) = '\'';
+                                               } else if (Z_TYPE_P(zv) == 
IS_ARRAY) {
+                                                       memcpy(offset, "Array", 
5);
+                                                       offset += 5;
                                                } else {
                                                        
zend_make_printable_zval(zv, &zv_copy, &use_copy);
                                                        
REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN(zv_copy));
@@ -3155,7 +3158,7 @@
                                *(offset++) = ' ';
                        }
                        arg_info++;
-                       REALLOC_BUF_IF_EXCEED(buf, offset, length, 23);
+                       REALLOC_BUF_IF_EXCEED(buf, offset, length, 32);
                }
        }
        *(offset++) = ')';

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

Reply via email to