shire           Sat Dec 27 05:20:27 2008 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src    NEWS 
    /php-src/ext/standard       string.c 
    /php-src/ext/standard/tests/strings explode.phpt 
  Log:
  MFH: fix explode behavior to respect negative limit when string is empty.
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1369&r2=1.2027.2.547.2.1370&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.1369 php-src/NEWS:1.2027.2.547.2.1370
--- php-src/NEWS:1.2027.2.547.2.1369    Sat Dec 27 03:07:46 2008
+++ php-src/NEWS        Sat Dec 27 05:20:27 2008
@@ -1,6 +1,7 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 2009, PHP 5.2.9
+- Fixed explode() behavior to respect negative limit when string is empty. 
(shire)
 - Added optional sorting type flag parameter to array_unique(), default is
   SORT_REGULAR. (Andrei)
 - Fixed security issue in imagerotate(), background colour isn't validated
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.77&r2=1.445.2.14.2.78&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.445.2.14.2.77 
php-src/ext/standard/string.c:1.445.2.14.2.78
--- php-src/ext/standard/string.c:1.445.2.14.2.77       Wed Nov  5 18:55:02 2008
+++ php-src/ext/standard/string.c       Sat Dec 27 05:20:27 2008
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.445.2.14.2.77 2008/11/05 18:55:02 felipe Exp $ */
+/* $Id: string.c,v 1.445.2.14.2.78 2008/12/27 05:20:27 shire Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -1033,7 +1033,9 @@
        array_init(return_value);
 
        if (! Z_STRLEN_PP(str)) {
-               add_next_index_stringl(return_value, "", sizeof("") - 1, 1);
+               if (limit >= 0 || argc == 2) {
+                       add_next_index_stringl(return_value, "", sizeof("") - 
1, 1);
+               } 
                return;
        }
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode.phpt?r1=1.4.4.2&r2=1.4.4.3&diff_format=u
Index: php-src/ext/standard/tests/strings/explode.phpt
diff -u php-src/ext/standard/tests/strings/explode.phpt:1.4.4.2 
php-src/ext/standard/tests/strings/explode.phpt:1.4.4.3
--- php-src/ext/standard/tests/strings/explode.phpt:1.4.4.2     Wed Dec 19 
08:45:16 2007
+++ php-src/ext/standard/tests/strings/explode.phpt     Sat Dec 27 05:20:27 2008
@@ -17,6 +17,7 @@
 var_dump(@explode(NULL, a));
 var_dump(@explode("abc", "acb"));
 var_dump(@explode("somestring", "otherstring"));
+var_dump(@explode("somestring", "otherstring", -1));
 var_dump(@explode("a", "aaaaaa"));
 var_dump(@explode("==", str_repeat("-=".ord(0)."=-", 10)));
 var_dump(@explode("=", str_repeat("-=".ord(0)."=-", 10)));
@@ -63,6 +64,8 @@
   [0]=>
   string(11) "otherstring"
 }
+array(0) {
+}
 array(7) {
   [0]=>
   string(0) ""



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

Reply via email to