[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
mattwil Fri Jun 26 12:24:21 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS Log: Typo, capitalization, wording http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.652&r2=1.2027.2.547.2.965.2.653&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.652 php-src/NEWS:1.2027.2.547.2.965.2.653 --- php-src/NEWS:1.2027.2.547.2.965.2.652 Fri Jun 26 09:32:54 2009 +++ php-src/NEWSFri Jun 26 12:24:20 2009 @@ -126,7 +126,7 @@ - Improved Windows support: . Update all libraries to their latest stable version. (Pierre, Rob, Liz, Garrett). - . Addes Windows support for stat(), touch(), filemtime(), filesize() and + . Added Windows support for stat(), touch(), filemtime(), filesize() and related functions. (Pierre) . Re-added socket_create_pair() for Windows in sockets extension. (Kalle) . Added inet_pton() and inet_ntop() also for Windows platforms. (Kalle) @@ -146,13 +146,13 @@ . Added Windows support for stream_socket_pair(). (Kalle) . Drop all external dependencies for the core features. (Pierre) . Drastically improve the build procedure (Pierre, Kalle, Rob): -. VC9 (visual c++ 2008) or later support +. VC9 (Visual C++ 2008) or later support . Initial experimental x64 support - . MSI installer now supports all recent windows, incl. Win7. -(John, Kanwaljeet Singla) + . MSI installer now supports all recent Windows versions, including +Windows 7. (John, Kanwaljeet Singla) - Improved and cleaned CGI code: - . FastCGI is now always enabled and can not be disabled. + . FastCGI is now always enabled and cannot be disabled. See sapi/cgi/CHANGES for more details. (Dmitry) . Added CGI SAPI -T option which can be used to measure execution time of script repeated several times. (Dmitry) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) / UPGRADING
mattwil Thu Jun 25 13:00:08 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcUPGRADING Log: Fix example - it means what it says http://cvs.php.net/viewvc.cgi/php-src/UPGRADING?r1=1.1.2.3.2.1.2.23&r2=1.1.2.3.2.1.2.24&diff_format=u Index: php-src/UPGRADING diff -u php-src/UPGRADING:1.1.2.3.2.1.2.23 php-src/UPGRADING:1.1.2.3.2.1.2.24 --- php-src/UPGRADING:1.1.2.3.2.1.2.23 Thu Jun 25 10:41:07 2009 +++ php-src/UPGRADING Thu Jun 25 13:00:08 2009 @@ -1,4 +1,4 @@ -$Id: UPGRADING,v 1.1.2.3.2.1.2.23 2009/06/25 10:41:07 gwynne Exp $ +$Id: UPGRADING,v 1.1.2.3.2.1.2.24 2009/06/25 13:00:08 mattwil Exp $ UPGRADE NOTES - PHP 5.3 @@ -285,7 +285,7 @@ Static HEREDOCs can be used to initialize static variables and class members or constants: - static $foo = <<<'LABEL' + static $foo = <
Re: [PHP-CVS] cvs: php-src / README.PARAMETER_PARSING_API /win32/build config.w32 ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h ze
Hi Antony, Lukas, - Original Message - From: "Lukas Kahwe Smith" Sent: Monday, June 08, 2009 On 08.06.2009, at 09:26, Antony Dovgal wrote: On 05.06.2009 21:15, Matt Wilmas wrote: ext/standard/tests/strings/chunk_split_variation2.phpt ext/standard/tests/strings/chunk_split_variation5.phpt ext/standard/tests/strings/chunk_split_variation8.phpt It looks like these should also be failing with 5.2 on 64-bit? Well, they don't. Do you have the diffs to show? Thanks. Comment below... I'll leave them as-is for now then... Some options: Skip them on 64-bit? variation2 could have a 64-bit version added. variation5/8 look like the same thing (and don't get why they reference Bug #42796). Their logic for the test value (PHP_INT_MAX * 3) is flawed anyway with the old (err, formerly new) double->long conversion method, but that could be changed to get the same result cross-platform... Sounds like we have a BC issue? Nah, just something isolated with these tests it seems. (All other tests are presumably fine.) The double->int conversion method on 64-bit is exactly the same as 5.2, so... Looking at those chunk_split() tests quickly again, variation2 is the same in 5.2 and 5.3 for anything related to dval->lval conversion. And the duplicate variation5/8, I do see now why the one iteration would fail on 64-bit (if that's the only part failing). However, on those 2 tests, I think it's *not possible* for it to pass with 5.2 on 64-bit (at the same iteration). No way, AFAICT. :-/ regards, Lukas Kahwe Smith m...@pooteeweet.org - Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard/tests/array array_push_error2.phpt ZendEngine2 zend_hash.c ZendEngine2/tests bug47836.phpt
mattwil Sun Jun 7 19:28:33 2009 UTC Added files: (Branch: PHP_5_2) /ZendEngine2/tests bug47836.phpt Modified files: /php-srcNEWS /ZendEngine2zend_hash.c /php-src/ext/standard/tests/array array_push_error2.phpt Log: MFH: Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) Also simplified related array_push() test http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1541&r2=1.2027.2.547.2.1542&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1541 php-src/NEWS:1.2027.2.547.2.1542 --- php-src/NEWS:1.2027.2.547.2.1541Wed Jun 3 12:41:46 2009 +++ php-src/NEWSSun Jun 7 19:28:32 2009 @@ -19,6 +19,8 @@ - Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values). (Ilia, lytboris at gmail dot com) - Fixed bug #48247 (Crash on errors during startup). (Stas) +- Fixed bug #47836 (array operator [] inconsistency when the array has + PHP_INT_MAX index value). (Matt) - Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL SOAP services). (Ilia, lordelph at gmail dot com) - Fixed bug #42143 (The constant NAN is reported as 0 on Windows) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_hash.c?r1=1.121.2.4.2.10&r2=1.121.2.4.2.11&diff_format=u Index: ZendEngine2/zend_hash.c diff -u ZendEngine2/zend_hash.c:1.121.2.4.2.10 ZendEngine2/zend_hash.c:1.121.2.4.2.11 --- ZendEngine2/zend_hash.c:1.121.2.4.2.10 Wed Dec 31 11:17:33 2008 +++ ZendEngine2/zend_hash.c Sun Jun 7 19:28:32 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_hash.c,v 1.121.2.4.2.10 2008/12/31 11:17:33 sebastian Exp $ */ +/* $Id: zend_hash.c,v 1.121.2.4.2.11 2009/06/07 19:28:32 mattwil Exp $ */ #include "zend.h" @@ -376,7 +376,7 @@ UPDATE_DATA(ht, p, pData, nDataSize); HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } if (pDest) { *pDest = p->pData; @@ -404,7 +404,7 @@ HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } ht->nNumOfElements++; ZEND_HASH_IF_FULL_DO_RESIZE(ht); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_push_error2.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/array/array_push_error2.phpt diff -u php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.2.2 php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.2.3 --- php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.2.2 Fri Mar 14 23:13:07 2008 +++ php-src/ext/standard/tests/array/array_push_error2.phpt Sun Jun 7 19:28:33 2009 @@ -1,9 +1,5 @@ --TEST-- -Test array_push() function : error conditions - min and max int values as keys ---SKIPIF-- - +Test array_push() function : error conditions - max int value as key --FILE-- 'min', PHP_INT_MAX => 'max'); +$array = array(PHP_INT_MAX => 'max'); var_dump(array_push($array, 'new')); var_dump($array); -var_dump(array_push($array, 'var')); -var_dump($array); echo "Done"; ?> --EXPECTF-- *** Testing array_push() : error conditions *** -int(3) -array(3) { - [-2147483647]=> - string(3) "min" - [2147483647]=> - string(3) "max" - [-2147483648]=> - string(3) "new" -} Warning: array_push(): Cannot add element to the array as the next element is already occupied in %s on line %d bool(false) -array(3) { - [-2147483647]=> - string(3) "min" - [2147483647]=> +array(1) { + [%d]=> string(3) "max" - [-2147483648]=> - string(3) "new" } Done http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47836.phpt?view=markup&rev=1.1 Index: ZendEngine2/tests/bug47836.phpt +++ ZendEngine2/tests/bug47836.phpt --TEST-- Bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) --FILE-- --EXPECTF-- Warning: Cannot add element to the array as the next element is already occupied in %s on line 4 array(1) { [%d]=> int(1) } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/array array_push_error2.phpt ZendEngine2 zend_hash.c ZendEngine2/tests bug47836.phpt
mattwil Sun Jun 7 19:28:15 2009 UTC Added files: (Branch: PHP_5_3) /ZendEngine2/tests bug47836.phpt Modified files: /ZendEngine2zend_hash.c /php-src/ext/standard/tests/array array_push_error2.phpt Log: MFH: Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) Also simplified related array_push() test http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_hash.c?r1=1.121.2.4.2.8.2.8&r2=1.121.2.4.2.8.2.9&diff_format=u Index: ZendEngine2/zend_hash.c diff -u ZendEngine2/zend_hash.c:1.121.2.4.2.8.2.8 ZendEngine2/zend_hash.c:1.121.2.4.2.8.2.9 --- ZendEngine2/zend_hash.c:1.121.2.4.2.8.2.8 Wed Dec 31 11:15:32 2008 +++ ZendEngine2/zend_hash.c Sun Jun 7 19:28:15 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_hash.c,v 1.121.2.4.2.8.2.8 2008/12/31 11:15:32 sebastian Exp $ */ +/* $Id: zend_hash.c,v 1.121.2.4.2.8.2.9 2009/06/07 19:28:15 mattwil Exp $ */ #include "zend.h" @@ -376,7 +376,7 @@ UPDATE_DATA(ht, p, pData, nDataSize); HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } if (pDest) { *pDest = p->pData; @@ -404,7 +404,7 @@ HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } ht->nNumOfElements++; ZEND_HASH_IF_FULL_DO_RESIZE(ht); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_push_error2.phpt?r1=1.1.4.5&r2=1.1.4.6&diff_format=u Index: php-src/ext/standard/tests/array/array_push_error2.phpt diff -u php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.4.5 php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.4.6 --- php-src/ext/standard/tests/array/array_push_error2.phpt:1.1.4.5 Wed Mar 19 03:15:56 2008 +++ php-src/ext/standard/tests/array/array_push_error2.phpt Sun Jun 7 19:28:15 2009 @@ -1,5 +1,5 @@ --TEST-- -Test array_push() function : error conditions - min and max int values as keys +Test array_push() function : error conditions - max int value as key --FILE-- 'min', PHP_INT_MAX => 'max'); +$array = array(PHP_INT_MAX => 'max'); var_dump(array_push($array, 'new')); var_dump($array); -var_dump(array_push($array, 'var')); -var_dump($array); echo "Done"; ?> --EXPECTF-- *** Testing array_push() : error conditions *** -int(3) -array(3) { - [-%d]=> - string(3) "min" - [%d]=> - string(3) "max" - [-%d]=> - string(3) "new" -} Warning: array_push(): Cannot add element to the array as the next element is already occupied in %s on line %d bool(false) -array(3) { - [-%d]=> - string(3) "min" +array(1) { [%d]=> string(3) "max" - [-%d]=> - string(3) "new" } Done \ No newline at end of file http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47836.phpt?view=markup&rev=1.1 Index: ZendEngine2/tests/bug47836.phpt +++ ZendEngine2/tests/bug47836.phpt --TEST-- Bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) --FILE-- --EXPECTF-- Warning: Cannot add element to the array as the next element is already occupied in %s on line 4 array(1) { [%d]=> int(1) } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard/tests/array array_push_error2.phpt ZendEngine2 zend_hash.c ZendEngine2/tests bug47836.phpt
mattwil Sun Jun 7 19:28:02 2009 UTC Added files: /ZendEngine2/tests bug47836.phpt Modified files: /ZendEngine2zend_hash.c /php-src/ext/standard/tests/array array_push_error2.phpt Log: Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) Also simplified related array_push() test http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_hash.c?r1=1.166&r2=1.167&diff_format=u Index: ZendEngine2/zend_hash.c diff -u ZendEngine2/zend_hash.c:1.166 ZendEngine2/zend_hash.c:1.167 --- ZendEngine2/zend_hash.c:1.166 Wed May 27 11:58:44 2009 +++ ZendEngine2/zend_hash.c Sun Jun 7 19:28:02 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_hash.c,v 1.166 2009/05/27 11:58:44 dsp Exp $ */ +/* $Id: zend_hash.c,v 1.167 2009/06/07 19:28:02 mattwil Exp $ */ #include "zend.h" #include "zend_operators.h" @@ -507,7 +507,7 @@ UPDATE_DATA(ht, p, pData, nDataSize); HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } if (pDest) { *pDest = p->pData; @@ -537,7 +537,7 @@ HANDLE_UNBLOCK_INTERRUPTIONS(); if ((long)h >= (long)ht->nNextFreeElement) { - ht->nNextFreeElement = h + 1; + ht->nNextFreeElement = h < LONG_MAX ? h + 1 : LONG_MAX; } ht->nNumOfElements++; ZEND_HASH_IF_FULL_DO_RESIZE(ht); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_push_error2.phpt?r1=1.5&r2=1.6&diff_format=u Index: php-src/ext/standard/tests/array/array_push_error2.phpt diff -u php-src/ext/standard/tests/array/array_push_error2.phpt:1.5 php-src/ext/standard/tests/array/array_push_error2.phpt:1.6 --- php-src/ext/standard/tests/array/array_push_error2.phpt:1.5 Fri Apr 24 17:13:49 2009 +++ php-src/ext/standard/tests/array/array_push_error2.phpt Sun Jun 7 19:28:02 2009 @@ -1,5 +1,5 @@ --TEST-- -Test array_push() function : error conditions - min and max int values as keys +Test array_push() function : error conditions - max int value as key --FILE-- 'min', PHP_INT_MAX => 'max'); +$array = array(PHP_INT_MAX => 'max'); var_dump(array_push($array, 'new')); var_dump($array); -var_dump(array_push($array, 'var')); -var_dump($array); echo "Done"; ?> --EXPECTF-- *** Testing array_push() : error conditions *** -int(3) -array(3) { - [-%d]=> - unicode(3) "min" - [%d]=> - unicode(3) "max" - [-%d]=> - unicode(3) "new" -} Warning: array_push(): Cannot add element to the array as the next element is already occupied in %s on line %d bool(false) -array(3) { - [-%d]=> - unicode(3) "min" +array(1) { [%d]=> unicode(3) "max" - [-%d]=> - unicode(3) "new" } Done http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47836.phpt?view=markup&rev=1.1 Index: ZendEngine2/tests/bug47836.phpt +++ ZendEngine2/tests/bug47836.phpt --TEST-- Bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value) --FILE-- --EXPECTF-- Warning: Cannot add element to the array as the next element is already occupied in %s on line 4 array(1) { [%d]=> int(1) } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /tests/classes __call_005.phpt __call_007.phpt ZendEngine2 zend_compile.c zend_vm_def.h zend_vm_execute.h ZendEngine2/tests call_static_006.phpt magic_methods_002.php
mattwil Sun Jun 7 15:46:58 2009 UTC Modified files: (Branch: PHP_5_3) /ZendEngine2zend_compile.c zend_vm_def.h zend_vm_execute.h /ZendEngine2/tests call_static_006.phpt magic_methods_002.phpt magic_methods_003.phpt magic_methods_004.phpt magic_methods_005.phpt magic_methods_007.phpt magic_methods_008.phpt magic_methods_010.phpt /php-src/tests/classes __call_005.phpt __call_007.phpt Log: MFH: Changed error messages to use "cannot" instead of "can not" (meaning "also can") http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=1.647.2.27.2.41.2.108&r2=1.647.2.27.2.41.2.109&diff_format=u Index: ZendEngine2/zend_compile.c diff -u ZendEngine2/zend_compile.c:1.647.2.27.2.41.2.108 ZendEngine2/zend_compile.c:1.647.2.27.2.41.2.109 --- ZendEngine2/zend_compile.c:1.647.2.27.2.41.2.108Thu Jun 4 18:20:42 2009 +++ ZendEngine2/zend_compile.c Sun Jun 7 15:46:51 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_compile.c,v 1.647.2.27.2.41.2.108 2009/06/04 18:20:42 mattwil Exp $ */ +/* $Id: zend_compile.c,v 1.647.2.27.2.41.2.109 2009/06/07 15:46:51 mattwil Exp $ */ #include #include "zend.h" @@ -1211,7 +1211,7 @@ if (CG(active_class_entry)->ce_flags & ZEND_ACC_INTERFACE) { if ((name_len == sizeof(ZEND_CALL_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_WARNING, "The magic method __call() must have public visibility and can not be static"); + zend_error(E_WARNING, "The magic method __call() must have public visibility and cannot be static"); } } else if ((name_len == sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_CALLSTATIC_FUNC_NAME, sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1))) { if ((fn_flags & (ZEND_ACC_PPP_MASK ^ ZEND_ACC_PUBLIC)) || (fn_flags & ZEND_ACC_STATIC) == 0) { @@ -1219,23 +1219,23 @@ } } else if ((name_len == sizeof(ZEND_GET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_WARNING, "The magic method __get() must have public visibility and can not be static"); + zend_error(E_WARNING, "The magic method __get() must have public visibility and cannot be static"); } } else if ((name_len == sizeof(ZEND_SET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_WARNING, "The magic method __set() must have public visibility and can not be static"); + zend_error(E_WARNING, "The magic method __set() must have public visibility and cannot be static"); } } else if ((name_len == sizeof(ZEND_UNSET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_UNSET_FUNC_NAME, sizeof(ZEND_UNSET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_WARNING, "The magic method __unset() must have public visibility and can not be static"); + zend_error(E_WARNING, "The magic method __unset() must have public visibility and cannot be static"); } } else if ((name_len == sizeof(ZEND_ISSET_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_ISSET_FUNC_NAME, sizeof(ZEND_ISSET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_WARNING, "The magic method __isset() must have public visibility and can not be static"); + zend_error(E_WARNING, "The magic method __isset() must have public visibility and cannot be static"); } } else if ((name_len == sizeof(ZEND_TOSTRING_FUNC_NAME)-1) && (!memcmp(lcname, ZEND_TOSTRING_FUNC_NAME, sizeof(ZEND_TOSTRING_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { -
[PHP-CVS] cvs: php-src /tests/classes __call_005.phpt __call_007.phpt ZendEngine2 zend_compile.c zend_vm_def.h zend_vm_execute.h ZendEngine2/tests call_static_006.phpt magic_methods_002.phpt magic_m
mattwil Sun Jun 7 15:45:47 2009 UTC Modified files: /ZendEngine2zend_compile.c zend_vm_def.h zend_vm_execute.h /ZendEngine2/tests call_static_006.phpt magic_methods_002.phpt magic_methods_003.phpt magic_methods_004.phpt magic_methods_005.phpt magic_methods_007.phpt magic_methods_008.phpt magic_methods_010.phpt /php-src/tests/classes __call_005.phpt __call_007.phpt Log: Changed error messages to use "cannot" instead of "can not" (meaning "also can") http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=1.860&r2=1.861&diff_format=u Index: ZendEngine2/zend_compile.c diff -u ZendEngine2/zend_compile.c:1.860 ZendEngine2/zend_compile.c:1.861 --- ZendEngine2/zend_compile.c:1.860Thu Jun 4 18:18:46 2009 +++ ZendEngine2/zend_compile.c Sun Jun 7 15:45:46 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_compile.c,v 1.860 2009/06/04 18:18:46 mattwil Exp $ */ +/* $Id: zend_compile.c,v 1.861 2009/06/07 15:45:46 mattwil Exp $ */ #include #include "zend.h" @@ -1273,7 +1273,7 @@ if (CG(active_class_entry)->ce_flags & ZEND_ACC_INTERFACE) { if ((lcname_len == sizeof(ZEND_CALL_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_COMPILE_ERROR, "The magic method __call() must have public visibility and can not be static"); + zend_error(E_COMPILE_ERROR, "The magic method __call() must have public visibility and cannot be static"); } } else if ((lcname_len == sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_CALLSTATIC_FUNC_NAME, sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1))) { if ((fn_flags & (ZEND_ACC_PPP_MASK ^ ZEND_ACC_PUBLIC)) || (fn_flags & ZEND_ACC_STATIC) == 0) { @@ -1281,23 +1281,23 @@ } } else if ((lcname_len == sizeof(ZEND_GET_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_GET_FUNC_NAME, sizeof(ZEND_GET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_COMPILE_ERROR, "The magic method __get() must have public visibility and can not be static"); + zend_error(E_COMPILE_ERROR, "The magic method __get() must have public visibility and cannot be static"); } } else if ((lcname_len == sizeof(ZEND_SET_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_SET_FUNC_NAME, sizeof(ZEND_SET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_COMPILE_ERROR, "The magic method __set() must have public visibility and can not be static"); + zend_error(E_COMPILE_ERROR, "The magic method __set() must have public visibility and cannot be static"); } } else if ((lcname_len == sizeof(ZEND_UNSET_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_UNSET_FUNC_NAME, sizeof(ZEND_UNSET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_COMPILE_ERROR, "The magic method __unset() must have public visibility and can not be static"); + zend_error(E_COMPILE_ERROR, "The magic method __unset() must have public visibility and cannot be static"); } } else if ((lcname_len == sizeof(ZEND_ISSET_FUNC_NAME)-1) && (ZEND_U_EQUAL(Z_TYPE(function_name->u.constant), lcname, lcname_len, ZEND_ISSET_FUNC_NAME, sizeof(ZEND_ISSET_FUNC_NAME)-1))) { if (fn_flags & ((ZEND_ACC_PPP_MASK | ZEND_ACC_STATIC) ^ ZEND_ACC_PUBLIC)) { - zend_error(E_COMPILE_ERROR, "The magic method __isset() must have public visibility and can not be static"); + zend_error(E_COMPILE_ERROR, "The magic method __isset() must have public visibility and cannot be static"); } } else if ((lcname_len == siz
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/dom xpath.c /ext/imap php_imap.c /ext/mcrypt mcrypt.c /ext/odbc birdstep.c /ext/posix posix.c /ext/shmop shmop.c /ext/standard basic_functions.c browscap.c h
mattwil Sat Jun 6 02:40:49 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/domxpath.c /php-src/ext/imap php_imap.c /php-src/ext/mcrypt mcrypt.c /php-src/ext/odbc birdstep.c /php-src/ext/posix posix.c /php-src/ext/shmop shmop.c /php-src/ext/standard basic_functions.c browscap.c head.c /php-src/ext/standard/tests/fileparse_ini_file_variation4.phpt /php-src/ext/sysvshmsysvshm.c /php-src/ext/sysvshm/tests 002.phpt /php-src/ext/xslxsltprocessor.c /php-src/ext/xsl/tests xslt011.phpt Log: MFH: Fixed error message grammar: - "cannot" instead of "can not" (meaning "also can") - "than" instead of "then" (Hint: "then" should hardly be needed; you're not telling the order in which to do something) ... plus removed a couple ending. dots http://cvs.php.net/viewvc.cgi/php-src/ext/dom/xpath.c?r1=1.26.2.1.2.1.2.12&r2=1.26.2.1.2.1.2.13&diff_format=u Index: php-src/ext/dom/xpath.c diff -u php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.12 php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.13 --- php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.12 Wed Dec 31 11:15:36 2008 +++ php-src/ext/dom/xpath.c Sat Jun 6 02:40:48 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: xpath.c,v 1.26.2.1.2.1.2.12 2008/12/31 11:15:36 sebastian Exp $ */ +/* $Id: xpath.c,v 1.26.2.1.2.1.2.13 2009/06/06 02:40:48 mattwil Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -232,7 +232,7 @@ } else if (retval->type == IS_BOOL) { valuePush(ctxt, xmlXPathNewBoolean(retval->value.lval)); } else if (retval->type == IS_OBJECT) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "A PHP Object can not be converted to a XPath-string"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "A PHP Object cannot be converted to a XPath-string"); valuePush(ctxt, xmlXPathNewString((xmlChar *)"")); } else { convert_to_string_ex(&retval); http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.208.2.7.2.26.2.48&r2=1.208.2.7.2.26.2.49&diff_format=u Index: php-src/ext/imap/php_imap.c diff -u php-src/ext/imap/php_imap.c:1.208.2.7.2.26.2.48 php-src/ext/imap/php_imap.c:1.208.2.7.2.26.2.49 --- php-src/ext/imap/php_imap.c:1.208.2.7.2.26.2.48 Tue May 5 01:44:22 2009 +++ php-src/ext/imap/php_imap.c Sat Jun 6 02:40:48 2009 @@ -26,7 +26,7 @@ | PHP 4.0 updates: Zeev Suraski| +--+ */ -/* $Id: php_imap.c,v 1.208.2.7.2.26.2.48 2009/05/05 01:44:22 jani Exp $ */ +/* $Id: php_imap.c,v 1.208.2.7.2.26.2.49 2009/06/06 02:40:48 mattwil Exp $ */ #define IMAP41 @@ -3717,7 +3717,7 @@ if (!cookie) { cookie = "-"; } else if (strlen(cookie) > (SENDBUFLEN - 2 - 2 - 2)) { /* validate cookie length -- + CRLF * 2 */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The boudary should be no longer then 4kb"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "The boundary should be no longer than 4kb"); RETVAL_FALSE; goto done; } http://cvs.php.net/viewvc.cgi/php-src/ext/mcrypt/mcrypt.c?r1=1.91.2.3.2.11.2.17&r2=1.91.2.3.2.11.2.18&diff_format=u Index: php-src/ext/mcrypt/mcrypt.c diff -u php-src/ext/mcrypt/mcrypt.c:1.91.2.3.2.11.2.17 php-src/ext/mcrypt/mcrypt.c:1.91.2.3.2.11.2.18 --- php-src/ext/mcrypt/mcrypt.c:1.91.2.3.2.11.2.17 Tue May 19 17:47:06 2009 +++ php-src/ext/mcrypt/mcrypt.c Sat Jun 6 02:40:48 2009 @@ -16,7 +16,7 @@ | Derick Rethans | +--+ */ -/* $Id: mcrypt.c,v 1.91.2.3.2.11.2.17 2009/05/19 17:47:06 kalle Exp $ */ +/* $Id: mcrypt.c,v 1.91.2.3.2.11.2.18 2009/06/06 02:40:48 mattwil Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1373,7 +1373,7 @@ } if (size <= 0 || size >= INT_MAX) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not create an IV with a size of less then 1 or greater then %d", INT_MAX); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create an IV with a size of less than 1 or greater than %d", INT_MAX); RETURN_FALSE; } http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/birdstep.c?r1=1.13.2.2.2.2.2.8&r2=1.13.2.2.2.2.2.9&diff_format=u Index: php-src/ext/odbc/birdstep.c diff -u php-src/ext/odbc/birdstep.c:1.13.2.2.2.2.2.8 php-src/ext/odbc/birdstep.c:1.13.2.2.2.2.2.9 --- php-src/ext/odbc/birdstep.c:1.13.2.2.2.2.2.8
[PHP-CVS] cvs: php-src /ext/dom xpath.c /ext/imap php_imap.c /ext/mcrypt mcrypt.c /ext/odbc birdstep.c /ext/posix posix.c /ext/shmop shmop.c /ext/standard basic_functions.c browscap.c head.c /e
mattwil Sat Jun 6 02:40:14 2009 UTC Modified files: /php-src/ext/domxpath.c /php-src/ext/imap php_imap.c /php-src/ext/mcrypt mcrypt.c /php-src/ext/odbc birdstep.c /php-src/ext/posix posix.c /php-src/ext/shmop shmop.c /php-src/ext/standard basic_functions.c browscap.c head.c /php-src/ext/standard/tests/fileparse_ini_file_variation4.phpt /php-src/ext/sysvshmsysvshm.c /php-src/ext/sysvshm/tests 002.phpt /php-src/ext/xslxsltprocessor.c /php-src/ext/xsl/tests xslt011.phpt Log: Fixed error message grammar: - "cannot" instead of "can not" (meaning "also can") - "than" instead of "then" (Hint: "then" should hardly be needed; you're not telling the order in which to do something) ... plus removed a couple ending. dots http://cvs.php.net/viewvc.cgi/php-src/ext/dom/xpath.c?r1=1.47&r2=1.48&diff_format=u Index: php-src/ext/dom/xpath.c diff -u php-src/ext/dom/xpath.c:1.47 php-src/ext/dom/xpath.c:1.48 --- php-src/ext/dom/xpath.c:1.47Tue Mar 10 23:39:13 2009 +++ php-src/ext/dom/xpath.c Sat Jun 6 02:40:13 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: xpath.c,v 1.47 2009/03/10 23:39:13 helly Exp $ */ +/* $Id: xpath.c,v 1.48 2009/06/06 02:40:13 mattwil Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -232,7 +232,7 @@ } else if (retval->type == IS_BOOL) { valuePush(ctxt, xmlXPathNewBoolean(retval->value.lval)); } else if (retval->type == IS_OBJECT) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "A PHP Object can not be converted to a XPath-string"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "A PHP Object cannot be converted to a XPath-string"); valuePush(ctxt, xmlXPathNewString((xmlChar *)"")); } else { convert_to_string_with_converter(retval, UG(utf8_conv)); http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.290&r2=1.291&diff_format=u Index: php-src/ext/imap/php_imap.c diff -u php-src/ext/imap/php_imap.c:1.290 php-src/ext/imap/php_imap.c:1.291 --- php-src/ext/imap/php_imap.c:1.290 Wed May 20 08:22:38 2009 +++ php-src/ext/imap/php_imap.c Sat Jun 6 02:40:13 2009 @@ -26,7 +26,7 @@ | PHP 4.0 updates: Zeev Suraski| +--+ */ -/* $Id: php_imap.c,v 1.290 2009/05/20 08:22:38 kalle Exp $ */ +/* $Id: php_imap.c,v 1.291 2009/06/06 02:40:13 mattwil Exp $ */ #define IMAP41 @@ -3726,7 +3726,7 @@ if (!cookie) { cookie = "-"; } else if (strlen(cookie) > (SENDBUFLEN - 2 - 2 - 2)) { /* validate cookie length -- + CRLF * 2 */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The boudary should be no longer then 4kb"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "The boundary should be no longer than 4kb"); RETVAL_FALSE; goto done; } http://cvs.php.net/viewvc.cgi/php-src/ext/mcrypt/mcrypt.c?r1=1.122&r2=1.123&diff_format=u Index: php-src/ext/mcrypt/mcrypt.c diff -u php-src/ext/mcrypt/mcrypt.c:1.122 php-src/ext/mcrypt/mcrypt.c:1.123 --- php-src/ext/mcrypt/mcrypt.c:1.122 Tue May 19 17:46:56 2009 +++ php-src/ext/mcrypt/mcrypt.c Sat Jun 6 02:40:14 2009 @@ -16,7 +16,7 @@ | Derick Rethans | +--+ */ -/* $Id: mcrypt.c,v 1.122 2009/05/19 17:46:56 kalle Exp $ */ +/* $Id: mcrypt.c,v 1.123 2009/06/06 02:40:14 mattwil Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1169,7 +1169,7 @@ int php_mcrypt_iv(php_mcrypt_iv_source source, int size, char **iv_str, int *iv_len TSRMLS_DC) { if (size <= 0 || size >= INT_MAX) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not create an IV with a size of less then 1 or greater then %d", INT_MAX); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create an IV with a size of less than 1 or greater than %d", INT_MAX); return FAILURE; } http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/birdstep.c?r1=1.26&r2=1.27&diff_format=u Index: php-src/ext/odbc/birdstep.c diff -u php-src/ext/odbc/birdstep.c:1.26 php-src/ext/odbc/birdstep.c:1.27 --- php-src/ext/odbc/birdstep.c:1.26Tue Mar 10 23:39:27 2009 +++ php-src/ext/odbc/birdstep.c Sat Jun 6 02:40:14 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: birdstep.c,v 1.26 2009/03/10 23:39:27 helly Exp $ */ +/* $I
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/interbase php_ibase_udf.c /ext/mbstring php_mbregex.c /ext/pcre php_pcre.c /ext/standard assert.c /sapi/cli php_cli.c ZendEngine2 zend_builtin_functions.c zen
mattwil Fri Jun 5 18:50:32 2009 UTC Modified files: (Branch: PHP_5_3) /ZendEngine2zend_builtin_functions.c zend_execute.h zend_execute_API.c /php-src/ext/interbase php_ibase_udf.c /php-src/ext/mbstring php_mbregex.c /php-src/ext/pcre php_pcre.c /php-src/ext/standard assert.c /php-src/sapi/cli php_cli.c Log: MFH: Added zend_eval_stringl and made create_function(), etc. binary-safe http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_builtin_functions.c?r1=1.277.2.12.2.25.2.49&r2=1.277.2.12.2.25.2.50&diff_format=u Index: ZendEngine2/zend_builtin_functions.c diff -u ZendEngine2/zend_builtin_functions.c:1.277.2.12.2.25.2.49 ZendEngine2/zend_builtin_functions.c:1.277.2.12.2.25.2.50 --- ZendEngine2/zend_builtin_functions.c:1.277.2.12.2.25.2.49 Fri May 22 11:19:30 2009 +++ ZendEngine2/zend_builtin_functions.cFri Jun 5 18:50:31 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_builtin_functions.c,v 1.277.2.12.2.25.2.49 2009/05/22 11:19:30 lbarnaud Exp $ */ +/* $Id: zend_builtin_functions.c,v 1.277.2.12.2.25.2.50 2009/06/05 18:50:31 mattwil Exp $ */ #include "zend.h" #include "zend_API.h" @@ -1673,7 +1673,7 @@ ZEND_FUNCTION(create_function) { char *eval_code, *function_name, *function_args, *function_code; - int function_name_length, function_args_len, function_code_len; + int eval_code_length, function_name_length, function_args_len, function_code_len; int retval; char *eval_name; @@ -1681,10 +1681,29 @@ return; } - zend_spprintf(&eval_code, 0, "function " LAMBDA_TEMP_FUNCNAME "(%s){%s}", function_args, function_code); + eval_code = (char *) emalloc(sizeof("function " LAMBDA_TEMP_FUNCNAME) + +function_args_len + +2 /* for the args parentheses */ + +2 /* for the curly braces */ + +function_code_len); + + eval_code_length = sizeof("function " LAMBDA_TEMP_FUNCNAME "(") - 1; + memcpy(eval_code, "function " LAMBDA_TEMP_FUNCNAME "(", eval_code_length); + + memcpy(eval_code + eval_code_length, function_args, function_args_len); + eval_code_length += function_args_len; + + eval_code[eval_code_length++] = ')'; + eval_code[eval_code_length++] = '{'; + + memcpy(eval_code + eval_code_length, function_code, function_code_len); + eval_code_length += function_code_len; + + eval_code[eval_code_length++] = '}'; + eval_code[eval_code_length] = '\0'; eval_name = zend_make_compiled_string_description("runtime-created function" TSRMLS_CC); - retval = zend_eval_string(eval_code, NULL, eval_name TSRMLS_CC); + retval = zend_eval_stringl(eval_code, eval_code_length, NULL, eval_name TSRMLS_CC); efree(eval_code); efree(eval_name); @@ -1699,10 +1718,10 @@ function_add_ref(&new_function); function_name = (char *) emalloc(sizeof("0lambda_")+MAX_LENGTH_OF_LONG); + function_name[0] = '\0'; do { - sprintf(function_name, "%clambda_%d", 0, ++EG(lambda_count)); - function_name_length = strlen(function_name+1)+1; + function_name_length = 1 + sprintf(function_name + 1, "lambda_%d", ++EG(lambda_count)); } while (zend_hash_add(EG(function_table), function_name, function_name_length+1, &new_function, sizeof(zend_function), NULL)==FAILURE); zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME)); RETURN_STRINGL(function_name, function_name_length, 0); http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.h?r1=1.84.2.4.2.8.2.13&r2=1.84.2.4.2.8.2.14&diff_format=u Index: ZendEngine2/zend_execute.h diff -u ZendEngine2/zend_execute.h:1.84.2.4.2.8.2.13 ZendEngine2/zend_execute.h:1.84.2.4.2.8.2.14 --- ZendEngine2/zend_execute.h:1.84.2.4.2.8.2.13Fri Jun 5 11:21:31 2009 +++ ZendEngine2/zend_execute.h Fri Jun 5 18:50:32 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_execute.h,v 1.84.2.4.2.8.2.13 2009/06/05 11:21:31 lbarnaud Exp $ */ +/* $Id: zend_execute.h,v 1.84.2.4.2.8.2.14 2009/06/05 18:50:32 mattwil Exp $ */ #ifndef ZEND_EXECUTE_H #define ZEND_EXECUTE_H @@ -73,7 +73,9 @@ ZEND_API int zend_lookup_class(const char *name, int name_length, zend_class_entry ***ce TSRMLS_DC); ZEND_API int zend_lookup_class_ex(const char *name, int name_length, int use_autoload, zend_class_entry ***ce TSRMLS_DC); ZEND_API int zend_eval_string(char *str, zval *retval_ptr, char *string_name TSRMLS_DC); +ZEND_API int zend_eval_stringl(char *str, int str_len, zval *retval_ptr, char *string_name TSRMLS_DC); ZEND
[PHP-CVS] cvs: php-src /ext/interbase php_ibase_udf.c /ext/mbstring php_mbregex.c /ext/pcre php_pcre.c /ext/standard assert.c /sapi/cli php_cli.c ZendEngine2 zend_builtin_functions.c zend_execute
mattwil Fri Jun 5 18:50:10 2009 UTC Modified files: /ZendEngine2zend_builtin_functions.c zend_execute.h zend_execute_API.c /php-src/ext/interbase php_ibase_udf.c /php-src/ext/mbstring php_mbregex.c /php-src/ext/pcre php_pcre.c /php-src/ext/standard assert.c /php-src/sapi/cli php_cli.c Log: Added zend_eval_stringl and made create_function(), etc. binary-safe http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_builtin_functions.c?r1=1.405&r2=1.406&diff_format=u Index: ZendEngine2/zend_builtin_functions.c diff -u ZendEngine2/zend_builtin_functions.c:1.405 ZendEngine2/zend_builtin_functions.c:1.406 --- ZendEngine2/zend_builtin_functions.c:1.405 Mon May 25 14:32:13 2009 +++ ZendEngine2/zend_builtin_functions.cFri Jun 5 18:50:10 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_builtin_functions.c,v 1.405 2009/05/25 14:32:13 felipe Exp $ */ +/* $Id: zend_builtin_functions.c,v 1.406 2009/06/05 18:50:10 mattwil Exp $ */ #include "zend.h" #include "zend_API.h" @@ -1696,7 +1696,7 @@ Creates an anonymous function, and returns its name (funny, eh?) */ ZEND_FUNCTION(create_function) { - char *eval_code, *function_name; + char *eval_code, function_name[sizeof("0lambda_") + MAX_LENGTH_OF_LONG]; int eval_code_length, function_name_length; zstr args, code; int args_len, code_len; @@ -1740,16 +1740,31 @@ code_len = len; } - eval_code_length = sizeof(LAMBDA_DECLARE_ENCODING "function " LAMBDA_TEMP_FUNCNAME) + eval_code = (char *) emalloc(sizeof(LAMBDA_DECLARE_ENCODING "function " LAMBDA_TEMP_FUNCNAME) +args_len +2 /* for the args parentheses */ +2 /* for the curly braces */ - +code_len; + +code_len); - eval_code = (char *) emalloc(eval_code_length); - sprintf(eval_code, "%sfunction " LAMBDA_TEMP_FUNCNAME "(%s){%s}", - (type == IS_UNICODE) ? LAMBDA_DECLARE_ENCODING : "", - args.s, code.s); + if (type == IS_UNICODE) { + eval_code_length = sizeof(LAMBDA_DECLARE_ENCODING "function " LAMBDA_TEMP_FUNCNAME "(") - 1; + memcpy(eval_code, LAMBDA_DECLARE_ENCODING "function " LAMBDA_TEMP_FUNCNAME "(", eval_code_length); + } else { + eval_code_length = sizeof("function " LAMBDA_TEMP_FUNCNAME "(") - 1; + memcpy(eval_code, "function " LAMBDA_TEMP_FUNCNAME "(", eval_code_length); + } + + memcpy(eval_code + eval_code_length, args.s, args_len); + eval_code_length += args_len; + + eval_code[eval_code_length++] = ')'; + eval_code[eval_code_length++] = '{'; + + memcpy(eval_code + eval_code_length, code.s, code_len); + eval_code_length += code_len; + + eval_code[eval_code_length++] = '}'; + eval_code[eval_code_length] = '\0'; if (type == IS_UNICODE) { efree(args.s); @@ -1757,7 +1772,7 @@ } eval_name = zend_make_compiled_string_description("runtime-created function" TSRMLS_CC); - retval = zend_eval_string(eval_code, NULL, eval_name TSRMLS_CC); + retval = zend_eval_stringl(eval_code, eval_code_length, NULL, eval_name TSRMLS_CC); efree(eval_code); efree(eval_name); @@ -1771,15 +1786,13 @@ new_function = *func; function_add_ref(&new_function TSRMLS_CC); - function_name = (char *) emalloc(sizeof("0lambda_")+MAX_LENGTH_OF_LONG); + function_name[0] = '\0'; do { - sprintf(function_name, "%clambda_%d", 0, ++EG(lambda_count)); - function_name_length = strlen(function_name+1)+1; + function_name_length = 1 + sprintf(function_name + 1, "lambda_%d", ++EG(lambda_count)); } while (zend_hash_add(EG(function_table), function_name, function_name_length+1, &new_function, sizeof(zend_function), NULL)==FAILURE); zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME, sizeof(LAMBDA_TEMP_FUNCNAME)); - RETVAL_ASCII_STRINGL(function_name, function_name_length, 0); - efree(function_name); + RETURN_ASCII_STRINGL(function_name, function_name_length, 0); } else { RETURN_FALSE; } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.h?r1=1.121&r2=1.122&diff_format=u Index: ZendEngine2/zend_execute.h diff -u ZendEngine2/zend_execute.h:1.121 ZendEngine2/zend_execute.h:1.122 --- ZendEngine2/zend_execute.h:1.121Fri Jun 5 11:21:16 2009 +++ ZendEngine2/zend_execute.h Fri Jun 5 18:50:10 2009 @@ -17,7 +17,7 @@ +--+ */
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/array array_slice_variation2.phpt array_slice_variation3.phpt /ext/standard/tests/math decbin_variation1_64bit.phpt dechex_variation1_64bit.phpt de
mattwil Fri Jun 5 17:15:33 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard/tests/array array_slice_variation2.phpt array_slice_variation3.phpt /php-src/ext/standard/tests/mathdecbin_variation1_64bit.phpt dechex_variation1_64bit.phpt decoct_variation1_64bit.phpt Log: MFH: Fixed tests again after double->long conversion change (to match 5.2) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_slice_variation2.phpt?r1=1.1.4.3&r2=1.1.4.4&diff_format=u Index: php-src/ext/standard/tests/array/array_slice_variation2.phpt diff -u php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.1.4.3 php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.1.4.4 --- php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.1.4.3 Thu Jun 4 18:25:05 2009 +++ php-src/ext/standard/tests/array/array_slice_variation2.phptFri Jun 5 17:15:33 2009 @@ -1,5 +1,7 @@ --TEST-- Test array_slice() function : usage variations - Pass different data types as $offset arg +--SKIPIF-- + 4) die("skip this test is for 32bit platform only"); ?> --FILE-- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_slice_variation3.phpt?r1=1.1.4.3&r2=1.1.4.4&diff_format=u Index: php-src/ext/standard/tests/array/array_slice_variation3.phpt diff -u php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.1.4.3 php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.1.4.4 --- php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.1.4.3 Thu Jun 4 18:25:05 2009 +++ php-src/ext/standard/tests/array/array_slice_variation3.phptFri Jun 5 17:15:33 2009 @@ -1,5 +1,7 @@ --TEST-- Test array_slice() function : usage variations - Pass different data types as $length arg +--SKIPIF-- + --FILE-- + int(3) + [0]=> + int(4) } -- Iteration 8 -- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.1.2.3 php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.1.2.4 --- php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.1.2.3 Thu Jun 4 18:25:05 2009 +++ php-src/ext/standard/tests/math/decbin_variation1_64bit.phptFri Jun 5 17:15:33 2009 @@ -107,7 +107,7 @@ string(64) "011011010111" -- Iteration 5 -- -string(63) "111" +string(1) "0" -- Iteration 6 -- string(1) "0" http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.1.2.3 php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.1.2.4 --- php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.1.2.3 Thu Jun 4 18:25:05 2009 +++ php-src/ext/standard/tests/math/dechex_variation1_64bit.phptFri Jun 5 17:15:33 2009 @@ -107,7 +107,7 @@ string(16) "f6d7" -- Iteration 5 -- -string(16) "7fff" +string(1) "0" -- Iteration 6 -- string(1) "0" http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.1.2.3 php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.1.2.4 --- php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.1.2.3 Thu Jun 4 18:25:05 2009 +++ php-src/ext/standard/tests/math/decoct_variation1_64bit.phptFri Jun 5 17:15:33 2009 @@ -108,7 +108,7 @@ string(22) "173327" -- Iteration 5 -- -string(21) "7" +string(1) "0" -- Iteration 6 -- string(1) "0" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src / README.PARAMETER_PARSING_API /win32/build config.w32 ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h ze
Hi Tony, Thanks, comments below... - Original Message - From: "Antony Dovgal" Sent: Friday, June 05, 2009 On 04.06.2009 22:18, Matt Wilmas wrote: mattwil Thu Jun 4 18:18:47 2009 UTC New failed tests: ext/standard/tests/array/array_slice_variation2.phpt ext/standard/tests/array/array_slice_variation3.phpt ext/standard/tests/math/decbin_variation1_64bit.phpt ext/standard/tests/math/dechex_variation1_64bit.phpt ext/standard/tests/math/decoct_variation1_64bit.phpt Made a couple mistakes there with my guessing for the 64-bit tests... array_slice2/3 are 32-/64-bit only, respectively, in 5.2 though they're testing different things. Hmm. Well, I changed them to match 5.2. ext/standard/tests/strings/chunk_split_variation2.phpt ext/standard/tests/strings/chunk_split_variation5.phpt ext/standard/tests/strings/chunk_split_variation8.phpt It looks like these should also be failing with 5.2 on 64-bit? I'll leave them as-is for now then... Some options: Skip them on 64-bit? variation2 could have a 64-bit version added. variation5/8 look like the same thing (and don't get why they reference Bug #42796). Their logic for the test value (PHP_INT_MAX * 3) is flawed anyway with the old (err, formerly new) double->long conversion method, but that could be changed to get the same result cross-platform... -- Wbr, Antony Dovgal - Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard/tests/array array_slice_variation2.phpt array_slice_variation3.phpt /ext/standard/tests/math decbin_variation1_64bit.phpt dechex_variation1_64bit.phpt decoct_vari
mattwil Fri Jun 5 17:15:18 2009 UTC Modified files: /php-src/ext/standard/tests/array array_slice_variation2.phpt array_slice_variation3.phpt /php-src/ext/standard/tests/mathdecbin_variation1_64bit.phpt dechex_variation1_64bit.phpt decoct_variation1_64bit.phpt Log: Fixed tests again after double->long conversion change (to match 5.2) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_slice_variation2.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/standard/tests/array/array_slice_variation2.phpt diff -u php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.3 php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.4 --- php-src/ext/standard/tests/array/array_slice_variation2.phpt:1.3Thu Jun 4 18:24:09 2009 +++ php-src/ext/standard/tests/array/array_slice_variation2.phptFri Jun 5 17:15:18 2009 @@ -1,5 +1,7 @@ --TEST-- Test array_slice() function : usage variations - Pass different data types as $offset arg +--SKIPIF-- + 4) die("skip this test is for 32bit platform only"); ?> --FILE-- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_slice_variation3.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/standard/tests/array/array_slice_variation3.phpt diff -u php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.3 php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.4 --- php-src/ext/standard/tests/array/array_slice_variation3.phpt:1.3Thu Jun 4 18:24:09 2009 +++ php-src/ext/standard/tests/array/array_slice_variation3.phptFri Jun 5 17:15:18 2009 @@ -1,5 +1,7 @@ --TEST-- Test array_slice() function : usage variations - Pass different data types as $length arg +--SKIPIF-- + --FILE-- + int(3) + [0]=> + int(4) } -- Iteration 8 -- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.2 php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.3 --- php-src/ext/standard/tests/math/decbin_variation1_64bit.phpt:1.2Thu Jun 4 18:24:09 2009 +++ php-src/ext/standard/tests/math/decbin_variation1_64bit.phptFri Jun 5 17:15:18 2009 @@ -107,7 +107,7 @@ unicode(64) "011011010111" -- Iteration 5 -- -unicode(63) "111" +unicode(1) "0" -- Iteration 6 -- unicode(1) "0" http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.2 php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.3 --- php-src/ext/standard/tests/math/dechex_variation1_64bit.phpt:1.2Thu Jun 4 18:24:09 2009 +++ php-src/ext/standard/tests/math/dechex_variation1_64bit.phptFri Jun 5 17:15:18 2009 @@ -107,7 +107,7 @@ unicode(16) "f6d7" -- Iteration 5 -- -unicode(16) "7fff" +unicode(1) "0" -- Iteration 6 -- unicode(1) "0" http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt diff -u php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.2 php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.3 --- php-src/ext/standard/tests/math/decoct_variation1_64bit.phpt:1.2Thu Jun 4 18:24:09 2009 +++ php-src/ext/standard/tests/math/decoct_variation1_64bit.phptFri Jun 5 17:15:18 2009 @@ -108,7 +108,7 @@ unicode(22) "173327" -- Iteration 5 -- -unicode(21) "7" +unicode(1) "0" -- Iteration 6 -- unicode(1) "0" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src / README.PARAMETER_PARSING_API /win32/build config.w32 ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h ze
Hi Andrei, - Original Message - From: "Andrei Zmievski" Sent: Thursday, June 04, 2009 Hmm, can we use something other than L? We were hoping to reserve L for use in PHP 6 for bigint numbers. Sure! It makes no difference to me at all. Should I just remove that part completely? I didn't know if it would even be used -- just thinking more of "it's there if someone wants the option..." -Andrei - Matt Matt Wilmas wrote: mattwil Thu Jun 4 18:18:47 2009 UTC Modified files: /php-src README.PARAMETER_PARSING_API /ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h zend_vm_def.h zend_vm_execute.h /php-src/win32/build config.w32 Log: Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior: * Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit) * See bug #42868 (presumably-rare platform with different results in 5.2) * On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added, otherwise it's the same as 5.2 * Use this conversion method everywhere instead of some plain (long) casts Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit: * Essentially what 5.3's new conversion was doing in most cases * Functions with "limit" or "length" type params could be updated to use this, and prevent confusing overflow behavior with huge numbers (*also* in 5.2) - See bug #47854, for example; or even #42868 again # Test updates coming -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/date/tests date_sunrise_variation9.phpt date_sunset_variation9.phpt getdate_variation7.phpt gmdate_variation14.phpt gmstrftime_variation2.phpt idate_variation3.php
mattwil Thu Jun 4 18:25:06 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard/tests/url parse_url_variation_002_32bit.phpt parse_url_variation_002_64bit.phpt Removed files: /php-src/ext/standard/tests/url parse_url_variation_002.phpt Modified files: /ZendEngine2/tests bug39018.phpt int_overflow_64bit.phpt int_underflow_32bit.phpt /php-src/ext/date/tests date_sunrise_variation9.phpt date_sunset_variation9.phpt getdate_variation7.phpt gmdate_variation14.phpt gmstrftime_variation2.phpt idate_variation3.phpt localtime_variation3.phpt strftime_variation23.phpt /php-src/ext/ereg/tests split_variation_004.phpt spliti_variation_004.phpt /php-src/ext/standard/tests/array array_fill_variation1.phpt array_slice_variation2.phpt array_slice_variation3.phpt /php-src/ext/standard/tests/general_functions gettype_settype_variation2.phpt /php-src/ext/standard/tests/mathdecbin_variation1.phpt decbin_variation1_64bit.phpt dechex_variation1.phpt dechex_variation1_64bit.phpt decoct_variation1.phpt decoct_variation1_64bit.phpt /php-src/ext/standard/tests/strings chunk_split_variation2.phpt htmlspecialchars_decode_variation2.phpt pack.phpt sprintf_variation35.phpt sprintf_variation4.phpt sprintf_variation41.phpt str_split_variation2.phpt vfprintf_variation15.phpt vfprintf_variation16.phpt vfprintf_variation4.phpt vprintf_variation15.phpt vprintf_variation15_64bit.phpt vprintf_variation16.phpt vprintf_variation4.phpt vsprintf_variation15.phpt vsprintf_variation15_64bit.phpt vsprintf_variation16.phpt vsprintf_variation4.phpt Log: MFH: Updated tests after double->long conversion change (basically to match 5.2) # Let me know about other failing tests I missed http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug39018.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: ZendEngine2/tests/bug39018.phpt diff -u ZendEngine2/tests/bug39018.phpt:1.1.2.2 ZendEngine2/tests/bug39018.phpt:1.1.2.3 --- ZendEngine2/tests/bug39018.phpt:1.1.2.2 Tue Mar 11 11:04:53 2008 +++ ZendEngine2/tests/bug39018.phpt Thu Jun 4 18:25:05 2009 @@ -65,7 +65,7 @@ Notice: Uninitialized string offset: 0 in %s on line 12 -Notice: Uninitialized string offset: -%d in %s on line 16 +Notice: Uninitialized string offset: %i in %s on line 16 Notice: Uninitialized string offset: 4 in %s on line 28 http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/int_overflow_64bit.phpt?r1=1.1.2.1.2.1&r2=1.1.2.1.2.2&diff_format=u Index: ZendEngine2/tests/int_overflow_64bit.phpt diff -u ZendEngine2/tests/int_overflow_64bit.phpt:1.1.2.1.2.1 ZendEngine2/tests/int_overflow_64bit.phpt:1.1.2.1.2.2 --- ZendEngine2/tests/int_overflow_64bit.phpt:1.1.2.1.2.1 Mon Dec 24 18:09:50 2007 +++ ZendEngine2/tests/int_overflow_64bit.phpt Thu Jun 4 18:25:05 2009 @@ -22,12 +22,12 @@ echo "Done\n"; ?> ---EXPECTF-- -int(9223372036854775807) -int(9223372036854775807) -int(9223372036854775807) +--EXPECT-- int(9223372036854775807) int(-9223372036854775808) int(-9223372036854775808) +int(0) +int(-9223372036854775808) +int(-9223372036854775808) int(-9223372036854775808) Done http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/int_underflow_32bit.phpt?r1=1.1.2.1&r2=1.1.2.1.2.1&diff_format=u Index: ZendEngine2/tests/int_underflow_32bit.phpt diff -u ZendEngine2/tests/int_underflow_32bit.phpt:1.1.2.1 ZendEngine2/tests/int_underflow_32bit.phpt:1.1.2.1.2.1 --- ZendEngine2/tests/int_underflow_32bit.phpt:1.1.2.1 Thu Sep 28 11:44:05 2006 +++ ZendEngine2/tests/int_underflow_32bit.phpt Thu Jun 4 18:
[PHP-CVS] cvs: php-src /ext/date/tests date_sunrise_variation9.phpt date_sunset_variation9.phpt getdate_variation7.phpt gmdate_variation14.phpt gmstrftime_variation2.phpt idate_variation3.phpt localti
mattwil Thu Jun 4 18:24:09 2009 UTC Removed files: /php-src/ext/standard/tests/url parse_url_variation_002.phpt Modified files: /ZendEngine2/tests bug39018.phpt int_overflow_64bit.phpt int_underflow_32bit.phpt /php-src/ext/date/tests date_sunrise_variation9.phpt date_sunset_variation9.phpt getdate_variation7.phpt gmdate_variation14.phpt gmstrftime_variation2.phpt idate_variation3.phpt localtime_variation3.phpt strftime_variation23.phpt /php-src/ext/ereg/tests split_variation_004.phpt spliti_variation_004.phpt /php-src/ext/standard/tests/array array_fill_variation1.phpt array_slice_variation2.phpt array_slice_variation3.phpt /php-src/ext/standard/tests/general_functions gettype_settype_variation2.phpt /php-src/ext/standard/tests/mathdecbin_variation1.phpt decbin_variation1_64bit.phpt dechex_variation1.phpt dechex_variation1_64bit.phpt decoct_variation1.phpt decoct_variation1_64bit.phpt /php-src/ext/standard/tests/strings chunk_split_variation2.phpt htmlspecialchars_decode_variation2.phpt pack.phpt sprintf_variation35.phpt sprintf_variation4.phpt sprintf_variation41.phpt vfprintf_variation15.phpt vfprintf_variation16.phpt vfprintf_variation4.phpt vprintf_variation15.phpt vprintf_variation15_64bit.phpt vprintf_variation16.phpt vprintf_variation4.phpt vsprintf_variation15.phpt vsprintf_variation15_64bit.phpt vsprintf_variation16.phpt vsprintf_variation4.phpt /php-src/ext/standard/tests/url parse_url_variation_002_32bit.phpt parse_url_variation_002_64bit.phpt Log: Updated tests after double->long conversion change (basically to match 5.2) # Let me know about other failing tests I missed http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug39018.phpt?r1=1.3&r2=1.4&diff_format=u Index: ZendEngine2/tests/bug39018.phpt diff -u ZendEngine2/tests/bug39018.phpt:1.3 ZendEngine2/tests/bug39018.phpt:1.4 --- ZendEngine2/tests/bug39018.phpt:1.3 Tue Mar 11 11:06:10 2008 +++ ZendEngine2/tests/bug39018.phpt Thu Jun 4 18:24:08 2009 @@ -65,7 +65,7 @@ Notice: Uninitialized string offset: 0 in %s on line 12 -Notice: Uninitialized string offset: -%d in %s on line 16 +Notice: Uninitialized string offset: %i in %s on line 16 Notice: Uninitialized string offset: 4 in %s on line 28 http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/int_overflow_64bit.phpt?r1=1.4&r2=1.5&diff_format=u Index: ZendEngine2/tests/int_overflow_64bit.phpt diff -u ZendEngine2/tests/int_overflow_64bit.phpt:1.4 ZendEngine2/tests/int_overflow_64bit.phpt:1.5 --- ZendEngine2/tests/int_overflow_64bit.phpt:1.4 Mon May 26 14:33:43 2008 +++ ZendEngine2/tests/int_overflow_64bit.phpt Thu Jun 4 18:24:08 2009 @@ -24,9 +24,9 @@ ?> --EXPECT-- int(9223372036854775807) -int(9223372036854775807) -int(9223372036854775807) -int(9223372036854775807) +int(-9223372036854775808) +int(-9223372036854775808) +int(0) int(-9223372036854775808) int(-9223372036854775808) int(-9223372036854775808) http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/int_underflow_32bit.phpt?r1=1.3&r2=1.4&diff_format=u Index: ZendEngine2/tests/int_underflow_32bit.phpt diff -u ZendEngine2/tests/int_underflow_32bit.phpt:1.3 ZendEngine2/tests/int_underflow_32bit.phpt:1.4 --- ZendEngine2/tests/int_underflow_32bit.phpt:1.3 Mon May 26 14:33:43 2008 +++ ZendEngine2/tests/int_underflow_32bit.phpt Thu Jun 4 18:24:08 2009 @@ -22,8 +22,8 @@ ?> --EXPECT-- int(-2147483648) -int(-2147483648) -int(-2147483648) -int(-2147483648) -int(-2147483648) +int(2147483647) +int(2147483638) +int(2147483548) +int(2147482648) Done http://cvs.php.net/viewvc.cgi/php-src/ext/d
[PHP-CVS] cvs: php-src(PHP_5_3) / README.PARAMETER_PARSING_API /win32/build config.w32 ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators
mattwil Thu Jun 4 18:20:48 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcREADME.PARAMETER_PARSING_API /ZendEngine2Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h zend_vm_def.h zend_vm_execute.h /php-src/win32/buildconfig.w32 Log: MFH: Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior: * Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit) * See bug #42868 (presumably-rare platform with different results in 5.2) * On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added, otherwise it's the same as 5.2 * Use this conversion method everywhere instead of some plain (long) casts Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit: * Essentially what 5.3's new conversion was doing in most cases * Functions with "limit" or "length" type params could be updated to use this, and prevent confusing overflow behavior with huge numbers (*also* in 5.2) - See bug #47854, for example; or even #42868 again # Test updates coming http://cvs.php.net/viewvc.cgi/php-src/README.PARAMETER_PARSING_API?r1=1.7.6.2.2.6&r2=1.7.6.2.2.7&diff_format=u Index: php-src/README.PARAMETER_PARSING_API diff -u php-src/README.PARAMETER_PARSING_API:1.7.6.2.2.6 php-src/README.PARAMETER_PARSING_API:1.7.6.2.2.7 --- php-src/README.PARAMETER_PARSING_API:1.7.6.2.2.6Mon Nov 24 18:10:36 2008 +++ php-src/README.PARAMETER_PARSING_APIThu Jun 4 18:20:42 2009 @@ -48,6 +48,7 @@ h - array (returned as HashTable*) H - array or HASH_OF(object) (returned as HashTable*) l - long (long) + L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (long) o - object of any type (zval*) O - object of specific type given by class entry (zval*, zend_class_entry) r - resource (zval*) http://cvs.php.net/viewvc.cgi/ZendEngine2/Zend.m4?r1=1.58.4.4.2.5&r2=1.58.4.4.2.6&diff_format=u Index: ZendEngine2/Zend.m4 diff -u ZendEngine2/Zend.m4:1.58.4.4.2.5 ZendEngine2/Zend.m4:1.58.4.4.2.6 --- ZendEngine2/Zend.m4:1.58.4.4.2.5Tue Dec 2 16:19:09 2008 +++ ZendEngine2/Zend.m4 Thu Jun 4 18:20:42 2009 @@ -1,5 +1,5 @@ dnl -dnl $Id: Zend.m4,v 1.58.4.4.2.5 2008/12/02 16:19:09 cseiler Exp $ +dnl $Id: Zend.m4,v 1.58.4.4.2.6 2009/06/04 18:20:42 mattwil Exp $ dnl dnl This file contains Zend specific autoconf functions. dnl @@ -117,6 +117,38 @@ ZEND_FP_EXCEPT ZEND_CHECK_FLOAT_PRECISION + +dnl test whether double cast to long preserves least significant bits +AC_MSG_CHECKING(whether double cast to long preserves least significant bits) + +AC_TRY_RUN([ +#include + +int main() +{ + if (sizeof(long) == 4) { + double d = (double) LONG_MIN * LONG_MIN + 2e9; + + if ((long) d == 2e9 && (long) -d == -2e9) { + exit(0); + } + } else if (sizeof(long) == 8) { + double correct = 18e18 - ((double) LONG_MIN * -2); /* Subtract ULONG_MAX + 1 */ + + if ((long) 18e18 == correct) { /* On 64-bit, only check between LONG_MAX and ULONG_MAX */ + exit(0); + } + } + exit(1); +} +], [ + AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits]) + AC_MSG_RESULT(yes) +], [ + AC_MSG_RESULT(no) +], [ + AC_MSG_RESULT(no) +]) ]) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.296.2.27.2.34.2.63&r2=1.296.2.27.2.34.2.64&diff_format=u Index: ZendEngine2/zend_API.c diff -u ZendEngine2/zend_API.c:1.296.2.27.2.34.2.63 ZendEngine2/zend_API.c:1.296.2.27.2.34.2.64 --- ZendEngine2/zend_API.c:1.296.2.27.2.34.2.63 Mon Apr 6 11:10:31 2009 +++ ZendEngine2/zend_API.c Thu Jun 4 18:20:42 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: zend_API.c,v 1.296.2.27.2.34.2.63 2009/04/06 11:10:31 dmitry Exp $ */ +/* $Id: zend_API.c,v 1.296.2.27.2.34.2.64 2009/06/04 18:20:42 mattwil Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -313,6 +313,7 @@ switch (c) { case 'l': + case 'L': { long *p = va_arg(*va, long *); switch (Z_TYPE_PP(arg)) { @@ -324,14 +325,33 @@ if ((type = is_numeric_string(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), p, &d, -1)) == 0) { return "long"; } else if (type == IS_DOUBLE) { - *p = (long) d; + if (c == 'L') { +
[PHP-CVS] cvs: php-src / README.PARAMETER_PARSING_API /win32/build config.w32 ZendEngine2 Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h zend_v
mattwil Thu Jun 4 18:18:47 2009 UTC Modified files: /php-srcREADME.PARAMETER_PARSING_API /ZendEngine2Zend.m4 zend_API.c zend_compile.c zend_execute.c zend_execute_API.c zend_operators.c zend_operators.h zend_vm_def.h zend_vm_execute.h /php-src/win32/buildconfig.w32 Log: Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior: * Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit) * See bug #42868 (presumably-rare platform with different results in 5.2) * On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added, otherwise it's the same as 5.2 * Use this conversion method everywhere instead of some plain (long) casts Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit: * Essentially what 5.3's new conversion was doing in most cases * Functions with "limit" or "length" type params could be updated to use this, and prevent confusing overflow behavior with huge numbers (*also* in 5.2) - See bug #47854, for example; or even #42868 again # Test updates coming http://cvs.php.net/viewvc.cgi/php-src/README.PARAMETER_PARSING_API?r1=1.26&r2=1.27&diff_format=u Index: php-src/README.PARAMETER_PARSING_API diff -u php-src/README.PARAMETER_PARSING_API:1.26 php-src/README.PARAMETER_PARSING_API:1.27 --- php-src/README.PARAMETER_PARSING_API:1.26 Mon Nov 24 19:18:34 2008 +++ php-src/README.PARAMETER_PARSING_APIThu Jun 4 18:18:46 2009 @@ -48,6 +48,7 @@ h - array (returned as HashTable*) H - array or HASH_OF(object) (returned as HashTable*) l - long (long) + L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (long) o - object of any type (zval*) O - object of specific type given by class entry (zval*, zend_class_entry) r - resource (zval*) http://cvs.php.net/viewvc.cgi/ZendEngine2/Zend.m4?r1=1.69&r2=1.70&diff_format=u Index: ZendEngine2/Zend.m4 diff -u ZendEngine2/Zend.m4:1.69 ZendEngine2/Zend.m4:1.70 --- ZendEngine2/Zend.m4:1.69Tue May 19 11:40:05 2009 +++ ZendEngine2/Zend.m4 Thu Jun 4 18:18:46 2009 @@ -1,5 +1,5 @@ dnl -dnl $Id: Zend.m4,v 1.69 2009/05/19 11:40:05 lbarnaud Exp $ +dnl $Id: Zend.m4,v 1.70 2009/06/04 18:18:46 mattwil Exp $ dnl dnl This file contains Zend specific autoconf functions. dnl @@ -117,6 +117,38 @@ ZEND_FP_EXCEPT ZEND_CHECK_FLOAT_PRECISION + +dnl test whether double cast to long preserves least significant bits +AC_MSG_CHECKING(whether double cast to long preserves least significant bits) + +AC_TRY_RUN([ +#include + +int main() +{ + if (sizeof(long) == 4) { + double d = (double) LONG_MIN * LONG_MIN + 2e9; + + if ((long) d == 2e9 && (long) -d == -2e9) { + exit(0); + } + } else if (sizeof(long) == 8) { + double correct = 18e18 - ((double) LONG_MIN * -2); /* Subtract ULONG_MAX + 1 */ + + if ((long) 18e18 == correct) { /* On 64-bit, only check between LONG_MAX and ULONG_MAX */ + exit(0); + } + } + exit(1); +} +], [ + AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits]) + AC_MSG_RESULT(yes) +], [ + AC_MSG_RESULT(no) +], [ + AC_MSG_RESULT(no) +]) ]) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.502&r2=1.503&diff_format=u Index: ZendEngine2/zend_API.c diff -u ZendEngine2/zend_API.c:1.502 ZendEngine2/zend_API.c:1.503 --- ZendEngine2/zend_API.c:1.502Mon May 25 14:32:13 2009 +++ ZendEngine2/zend_API.c Thu Jun 4 18:18:46 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: zend_API.c,v 1.502 2009/05/25 14:32:13 felipe Exp $ */ +/* $Id: zend_API.c,v 1.503 2009/06/04 18:18:46 mattwil Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -343,6 +343,7 @@ switch (c) { case 'l': + case 'L': { long *p = va_arg(*va, long *); switch (Z_TYPE_PP(arg)) { @@ -354,7 +355,17 @@ if ((type = is_numeric_string(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), p, &d, -1)) == 0) { return "long"; } else if (type == IS_DOUBLE) { - *p = (long) d; + if (c == 'L') { + if (d > LONG_MAX) { + *p = LONG_MAX; +
[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
mattwil Thu May 14 01:31:02 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS Log: Now in 5.2 (or should the entry be here as well...?) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.600&r2=1.2027.2.547.2.965.2.601&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.600 php-src/NEWS:1.2027.2.547.2.965.2.601 --- php-src/NEWS:1.2027.2.547.2.965.2.600 Wed May 13 20:25:43 2009 +++ php-src/NEWSThu May 14 01:31:02 2009 @@ -143,7 +143,6 @@ - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno) - Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator). (David C.) -- Fixed bug #45877 (Array key '2147483647' left as string). (Matt) - Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick) - Fixed bug #45432 (PDO: persistent connection leak). (Felipe) - Fixed bug #43831 ($this gets mangled when extending PDO with persistent -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS /ext/standard/tests/strings highlight_file.phpt ZendEngine2 zend_highlight.c zend_language_scanner.l
mattwil Tue May 5 01:35:44 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS /ZendEngine2zend_highlight.c zend_language_scanner.l /php-src/ext/standard/tests/strings highlight_file.phpt Log: MFH: Implemented manual scanning for strings/comments, plus misc. fixes http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.585&r2=1.2027.2.547.2.965.2.586&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.585 php-src/NEWS:1.2027.2.547.2.965.2.586 --- php-src/NEWS:1.2027.2.547.2.965.2.585 Tue May 5 00:55:27 2009 +++ php-src/NEWSTue May 5 01:35:43 2009 @@ -59,6 +59,8 @@ - Fixed bug #47038 (Memory leak in include). (Dmitry) - Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"). (Dmitry) +- Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with + re2c lexer)). (Matt, Shire) - Fixed bug #46108 (DateTime - Memory leak when unserializing). (Felipe) - Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo) - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo) http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_highlight.c?r1=1.49.2.3.2.2.2.6&r2=1.49.2.3.2.2.2.7&diff_format=u Index: ZendEngine2/zend_highlight.c diff -u ZendEngine2/zend_highlight.c:1.49.2.3.2.2.2.6 ZendEngine2/zend_highlight.c:1.49.2.3.2.2.2.7 --- ZendEngine2/zend_highlight.c:1.49.2.3.2.2.2.6 Wed Dec 31 11:15:32 2008 +++ ZendEngine2/zend_highlight.cTue May 5 01:35:44 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_highlight.c,v 1.49.2.3.2.2.2.6 2008/12/31 11:15:32 sebastian Exp $ */ +/* $Id: zend_highlight.c,v 1.49.2.3.2.2.2.7 2009/05/05 01:35:44 mattwil Exp $ */ #include "zend.h" #include @@ -142,14 +142,8 @@ zend_printf("", last_color); } } - switch (token_type) { - case T_END_HEREDOC: - zend_html_puts(token.value.str.val, token.value.str.len TSRMLS_CC); - break; - default: - zend_html_puts(LANG_SCNG(yy_text), LANG_SCNG(yy_leng) TSRMLS_CC); - break; - } + + zend_html_puts(LANG_SCNG(yy_text), LANG_SCNG(yy_leng) TSRMLS_CC); if (token.type == IS_STRING) { switch (token_type) { @@ -170,19 +164,6 @@ token.type = 0; } - /* handler for trailing comments, see bug #42767 */ - if (LANG_SCNG(yy_leng) && LANG_SCNG(yy_text) < LANG_SCNG(yy_limit)) { - if (last_color != syntax_highlighter_ini->highlight_comment) { - if (last_color != syntax_highlighter_ini->highlight_html) { - zend_printf(""); - } - if (syntax_highlighter_ini->highlight_comment != syntax_highlighter_ini->highlight_html) { - zend_printf("", syntax_highlighter_ini->highlight_comment); - } - } - zend_html_puts(LANG_SCNG(yy_text), (LANG_SCNG(yy_limit) - LANG_SCNG(yy_text)) TSRMLS_CC); - } - if (last_color != syntax_highlighter_ini->highlight_html) { zend_printf("\n"); } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.131.2.11.2.13.2.39&r2=1.131.2.11.2.13.2.40&diff_format=u Index: ZendEngine2/zend_language_scanner.l diff -u ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.39 ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.40 --- ZendEngine2/zend_language_scanner.l:1.131.2.11.2.13.2.39Thu Mar 26 12:37:17 2009 +++ ZendEngine2/zend_language_scanner.l Tue May 5 01:35:44 2009 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.39 2009/03/26 12:37:17 dmitry Exp $ */ +/* $Id: zend_language_scanner.l,v 1.131.2.11.2.13.2.40 2009/05/05 01:35:44 mattwil Exp $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -109,6 +109,12 @@ } \ } +/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */ +#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len) +#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()CG(doc_comment_len) + +#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) + #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) @@ -835,63 +841,8 @@ WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?...@] -ANY_
[PHP-CVS] cvs: php-src /ext/standard/tests/strings highlight_file.phpt ZendEngine2 zend_highlight.c zend_language_scanner.l
mattwil Tue May 5 01:35:13 2009 UTC Modified files: /ZendEngine2zend_highlight.c zend_language_scanner.l /php-src/ext/standard/tests/strings highlight_file.phpt Log: Implemented manual scanning for strings/comments, plus misc. fixes For details, see http://news.php.net/php.internals/43808 http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_highlight.c?r1=1.65&r2=1.66&diff_format=u Index: ZendEngine2/zend_highlight.c diff -u ZendEngine2/zend_highlight.c:1.65 ZendEngine2/zend_highlight.c:1.66 --- ZendEngine2/zend_highlight.c:1.65 Wed Dec 31 11:12:29 2008 +++ ZendEngine2/zend_highlight.cTue May 5 01:35:13 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: zend_highlight.c,v 1.65 2008/12/31 11:12:29 sebastian Exp $ */ +/* $Id: zend_highlight.c,v 1.66 2009/05/05 01:35:13 mattwil Exp $ */ #include "zend.h" #include @@ -127,14 +127,8 @@ zend_printf("", last_color); } } - switch (token_type) { - case T_END_HEREDOC: - zend_html_puts(Z_STRVAL(token), Z_STRLEN(token) TSRMLS_CC); - break; - default: - zend_html_puts(LANG_SCNG(yy_text), LANG_SCNG(yy_leng) TSRMLS_CC); - break; - } + + zend_html_puts(LANG_SCNG(yy_text), LANG_SCNG(yy_leng) TSRMLS_CC); if (Z_TYPE(token) == IS_STRING || Z_TYPE(token) == IS_UNICODE) { @@ -156,19 +150,6 @@ Z_TYPE(token) = 0; } - /* handler for trailing comments, see bug #42767 */ - if (LANG_SCNG(yy_leng) && LANG_SCNG(yy_text) < LANG_SCNG(yy_limit)) { - if (last_color != syntax_highlighter_ini->highlight_comment) { - if (last_color != syntax_highlighter_ini->highlight_html) { - zend_printf(""); - } - if (syntax_highlighter_ini->highlight_comment != syntax_highlighter_ini->highlight_html) { - zend_printf("", syntax_highlighter_ini->highlight_comment); - } - } - zend_html_puts(LANG_SCNG(yy_text), (LANG_SCNG(yy_limit) - LANG_SCNG(yy_text)) TSRMLS_CC); - } - if (last_color != syntax_highlighter_ini->highlight_html) { zend_printf("\n"); } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.l?r1=1.205&r2=1.206&diff_format=u Index: ZendEngine2/zend_language_scanner.l diff -u ZendEngine2/zend_language_scanner.l:1.205 ZendEngine2/zend_language_scanner.l:1.206 --- ZendEngine2/zend_language_scanner.l:1.205 Thu Mar 26 20:01:38 2009 +++ ZendEngine2/zend_language_scanner.l Tue May 5 01:35:13 2009 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: zend_language_scanner.l,v 1.205 2009/03/26 20:01:38 felipe Exp $ */ +/* $Id: zend_language_scanner.l,v 1.206 2009/05/05 01:35:13 mattwil Exp $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -115,13 +115,19 @@ } \ } +/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */ +#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len) +#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()CG(doc_comment_len) + +#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) + #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) BEGIN_EXTERN_C() static void _yy_push_state(int new_state TSRMLS_DC) - { +{ zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); YYSETCONDITION(new_state); } @@ -1324,63 +1330,8 @@ WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?...@] -ANY_CHAR [^\x00] +ANY_CHAR [^] NEWLINE ("\r"|"\n"|"\r\n") -NULL [\x00]{1} - -/* - * LITERAL_DOLLAR matches unescaped $ that aren't followed by a label character - * or a { and therefore will be taken literally. The case of literal $ before - * a variable or "${" is handled in a rule for each string type - */ -DOUBLE_QUOTES_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$"\\{]|("\\"{ANY_CHAR}))) -BACKQUOTE_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$`\\{]|("\\"{ANY_CHAR}))) -HEREDOC_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$\n\r\\{]|("\\"[^\n\r]))) - -/* - * Usually, HEREDOC_NEWLINE will just function like a simple NEWLINE, but some - * special cases need to be handled. HEREDOC_CHARS doesn't allow a line to - * match when { or $, and/or \ is at the end. (("{"*|"$"*)"\\"?) handles that, - * along with cases where { or $, a
[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
mattwil Tue May 5 00:55:27 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS Log: Changed wording http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.584&r2=1.2027.2.547.2.965.2.585&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.584 php-src/NEWS:1.2027.2.547.2.965.2.585 --- php-src/NEWS:1.2027.2.547.2.965.2.584 Tue May 5 00:39:33 2009 +++ php-src/NEWSTue May 5 00:55:27 2009 @@ -22,7 +22,7 @@ open(2) system call. (Mikko) - Added "dechunk" filter which can decode HTTP responses with chunked transfer-encoding. HTTP streams use this filter automatically in case - "Transfer-Encoding: chunked" header presents in response. It's possible to + "Transfer-Encoding: chunked" header is present in response. It's possible to disable this behaviour using "http"=>array("auto_decode"=>0) in stream context. (Dmitry) - Added ability to throw exceptions from SQLite3 instead of warnings. (Scott) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard mail.c
Hi Ilia, - Original Message - From: "Ilia Alshanetsky" Sent: Wednesday, April 15, 2009 iliaa Wed Apr 15 14:24:38 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard mail.c Log: Fixed bug #47969 (ezmlm_hash() returns different values depend on OS) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/mail.c?r1=1.87.2.1.2.7.2.9&r2=1.87.2.1.2.7.2.10&diff_format=u [...] @@ -76,7 +76,7 @@ PHP_FUNCTION(ezmlm_hash) { char *str = NULL; - unsigned long h = 5381L; + unsigned int h = 5381; You're relying on int being 32-bit? Couldn't it be 64-bit as well? http://en.wikipedia.org/wiki/64-bit#64-bit_data_models BTW, (unsigned long) cast is still used in the loop, although I guess it's not affecting that expression... And the cast in RETURN_LONG((int) h); isn't needed, but that was true before. Just noticed while checking if I was missing something else. :-) - Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) / NEWS /ext/standard php_string.h string.c /ext/standard/tests/strings bug47546.phpt
Hi Dmitry, Antony, - Original Message - From: "Dmitry Stogov" Sent: Thursday, April 02, 2009 Hi Matt, I suppose the following tests start fail after this patch explode() function [ext/standard/tests/strings/explode.phpt] Test explode() function [ext/standard/tests/strings/explode1.phpt] Test explode() function : usage variations - positive and negative limits [ext/standard/tests/strings/explode_variation5.phpt] Test explode() function : usage variations - misc tests [ext/standard/tests/strings/explode_variation6.phpt] Could you please check them. Fixed, thanks. Thanks. Dmitry. - Matt Matt Wilmas wrote: mattwil Wed Apr 1 17:05:37 2009 UTC Removed files: (Branch: PHP_5_3) /php-src/ext/standard/tests/strings bug47546.phpt Modified files: /php-src NEWS /php-src/ext/standard php_string.h string.c Log: MFH: explode() stuff: - Fixed bug #47560 (explode()'s limit parameter odd behaviour) by reverting change for bug #47546 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt
mattwil Thu Apr 2 09:42:32 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt Log: MFH: Fixed tests, reverted changes from bug #47546 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode.phpt?r1=1.4.4.4&r2=1.4.4.5&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.4 php-src/ext/standard/tests/strings/explode.phpt:1.4.4.5 --- php-src/ext/standard/tests/strings/explode.phpt:1.4.4.4 Sun Mar 8 06:20:12 2009 +++ php-src/ext/standard/tests/strings/explode.phpt Thu Apr 2 09:42:32 2009 @@ -64,9 +64,7 @@ [0]=> string(11) "otherstring" } -array(1) { - [0]=> - string(11) "otherstring" +array(0) { } array(7) { [0]=> @@ -132,23 +130,19 @@ [20]=> string(1) "-" } -array(4) { +array(3) { [0]=> string(10) "a lazy dog" [1]=> string(5) "jumps" [2]=> string(4) "over" - [3]=> - string(0) "" } -array(3) { +array(2) { [0]=> string(10) "a lazy dog" [1]=> string(5) "jumps" - [2]=> - string(4) "over" } array(1) { [0]=> @@ -158,13 +152,11 @@ } array(0) { } -array(3) { +array(2) { [0]=> string(10) "a lazy dog" [1]=> string(11) "jumps::over" - [2]=> - string(0) "" } array(1) { [0]=> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode1.phpt?r1=1.1.2.4&r2=1.1.2.5&diff_format=u Index: php-src/ext/standard/tests/strings/explode1.phpt diff -u php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.4 php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.5 --- php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.4Sun Mar 8 06:20:12 2009 +++ php-src/ext/standard/tests/strings/explode1.phptThu Apr 2 09:42:32 2009 @@ -113,11 +113,9 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 3 -- -array(2) { +array(1) { [0]=> string(10) "1234NULL23" - [1]=> - string(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -134,7 +132,7 @@ string(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 4 -- -array(6) { +array(5) { [0]=> string(14) "1234NULL23abcd" [1]=> @@ -145,8 +143,6 @@ string(0) "" [4]=> string(0) "" - [5]=> - string(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -163,7 +159,7 @@ string(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 5 -- -array(6) { +array(5) { [0]=> string(14) "1234NULL23abcd" [1]=> @@ -174,8 +170,6 @@ string(0) "" [4]=> string(0) "" - [5]=> - string(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -192,7 +186,7 @@ string(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 6 -- -array(6) { +array(5) { [0]=> string(0) "" [1]=> @@ -203,8 +197,6 @@ string(12) ".23true-" [4]=> string(0) "" - [5]=> - string(12) ".24%PHP%ZEND" } array(1) { [0]=> @@ -234,13 +226,11 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 8 -- -array(3) { +array(2) { [0]=> string(28) "1234NULL23abcd0TRUEFALSE" [1]=> string(12) "1.23true" - [2]=> - string(13) "1.24%PHP%ZEND" } array(1) { [0]=> @@ -257,11 +247,9 @@ string(27) "1.23true-11.24%PHP%ZEND" } -- Iteration 9 -- -array(2) { +array(1) { [0]=> string(28) "1234NULL23abcd0TRUEFALSE" - [1]=> - string(23) "true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -278,7 +266,7 @@ string(23) "true-11.24%PHP%ZEND" } -- Iteration 10 -- -array(7) { +array(6) { [0]=> string(3) "123" [1]=> @@ -291,8 +279,6 @@ string(0) "" [5]=> string(9) "true-11.2" - [6]=> - string(9) "%PHP%ZEND" } array(1) { [0]=> @@ -309,13 +295,11 @@ string(53) "NULL23abcd0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 11 -- -array(3) { +array(2) { [0]=> string(48) "1234NULL23abcd0TRUEFALSE-11.23true-11.24" [1]=> string(3) "PHP" - [2]=> - string(4) "ZEND" } array(1) { [0]=> @@ -353,7 +337,7 @@ } *** Testing explode() for maximum limit of string with Limit = -1 *** -array(52) { +array(51) { [0]=> string(1) "1" [1]=> @@ -456,8 +440,6 @@ string(2) "55" [50]=> string(1) "1" - [51]=> - string(1) "1" } *** Testing explode() with string variations as input argument *** http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode_variation5.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/standard/tests/strings/explode_variation5.phpt diff -u php-src/ext/standard/tests/strings/explode_variation5.phpt:1.1.2.3 php-src/ext/standard/tests/strings/explode_variation5.phpt:1.1.2.4 --- php-src/ext/standard/tests/strings/explode_variation5.phpt:1.1.2.3 Sun Mar 8 06:20:12 2009
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt
mattwil Thu Apr 2 09:42:26 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt Log: MFH: Fixed tests, reverted changes from bug #47546 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode.phpt?r1=1.4.4.1.2.3&r2=1.4.4.1.2.4&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.1.2.3 php-src/ext/standard/tests/strings/explode.phpt:1.4.4.1.2.4 --- php-src/ext/standard/tests/strings/explode.phpt:1.4.4.1.2.3 Sun Mar 8 06:20:00 2009 +++ php-src/ext/standard/tests/strings/explode.phpt Thu Apr 2 09:42:26 2009 @@ -64,9 +64,7 @@ [0]=> string(11) "otherstring" } -array(1) { - [0]=> - string(11) "otherstring" +array(0) { } array(7) { [0]=> @@ -132,23 +130,19 @@ [20]=> string(1) "-" } -array(4) { +array(3) { [0]=> string(10) "a lazy dog" [1]=> string(5) "jumps" [2]=> string(4) "over" - [3]=> - string(0) "" } -array(3) { +array(2) { [0]=> string(10) "a lazy dog" [1]=> string(5) "jumps" - [2]=> - string(4) "over" } array(1) { [0]=> @@ -158,13 +152,11 @@ } array(0) { } -array(3) { +array(2) { [0]=> string(10) "a lazy dog" [1]=> string(11) "jumps::over" - [2]=> - string(0) "" } array(1) { [0]=> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode1.phpt?r1=1.1.2.2.2.3&r2=1.1.2.2.2.4&diff_format=u Index: php-src/ext/standard/tests/strings/explode1.phpt diff -u php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.2.2.3 php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.2.2.4 --- php-src/ext/standard/tests/strings/explode1.phpt:1.1.2.2.2.3Sun Mar 8 06:20:00 2009 +++ php-src/ext/standard/tests/strings/explode1.phptThu Apr 2 09:42:26 2009 @@ -113,11 +113,9 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 3 -- -array(2) { +array(1) { [0]=> string(10) "1234NULL23" - [1]=> - string(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -134,7 +132,7 @@ string(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 4 -- -array(6) { +array(5) { [0]=> string(14) "1234NULL23abcd" [1]=> @@ -145,8 +143,6 @@ string(0) "" [4]=> string(0) "" - [5]=> - string(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -163,7 +159,7 @@ string(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 5 -- -array(6) { +array(5) { [0]=> string(14) "1234NULL23abcd" [1]=> @@ -174,8 +170,6 @@ string(0) "" [4]=> string(0) "" - [5]=> - string(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -192,7 +186,7 @@ string(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 6 -- -array(6) { +array(5) { [0]=> string(0) "" [1]=> @@ -203,8 +197,6 @@ string(12) ".23true-" [4]=> string(0) "" - [5]=> - string(12) ".24%PHP%ZEND" } array(1) { [0]=> @@ -234,13 +226,11 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 8 -- -array(3) { +array(2) { [0]=> string(28) "1234NULL23abcd0TRUEFALSE" [1]=> string(12) "1.23true" - [2]=> - string(13) "1.24%PHP%ZEND" } array(1) { [0]=> @@ -257,11 +247,9 @@ string(27) "1.23true-11.24%PHP%ZEND" } -- Iteration 9 -- -array(2) { +array(1) { [0]=> string(28) "1234NULL23abcd0TRUEFALSE" - [1]=> - string(23) "true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -278,7 +266,7 @@ string(23) "true-11.24%PHP%ZEND" } -- Iteration 10 -- -array(7) { +array(6) { [0]=> string(3) "123" [1]=> @@ -291,8 +279,6 @@ string(0) "" [5]=> string(9) "true-11.2" - [6]=> - string(9) "%PHP%ZEND" } array(1) { [0]=> @@ -309,13 +295,11 @@ string(53) "NULL23abcd0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 11 -- -array(3) { +array(2) { [0]=> string(48) "1234NULL23abcd0TRUEFALSE-11.23true-11.24" [1]=> string(3) "PHP" - [2]=> - string(4) "ZEND" } array(1) { [0]=> @@ -353,7 +337,7 @@ } *** Testing explode() for maximum limit of string with Limit = -1 *** -array(52) { +array(51) { [0]=> string(1) "1" [1]=> @@ -456,8 +440,6 @@ string(2) "55" [50]=> string(1) "1" - [51]=> - string(1) "1" } *** Testing explode() with string variations as input argument *** http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode_variation5.phpt?r1=1.1.4.3&r2=1.1.4.4&diff_format=u Index: php-src/ext/standard/tests/strings/explode_variation5.phpt diff -u php-src/ext/standard/tests/strings/explode_variation5.phpt:1.1.4.3 php-src/ext/standard/tests/strings/explode_variation5.phpt:1.1.4.4 --- php-src/ext/standard/tests/strings/explode_variation5
[PHP-CVS] cvs: php-src /ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt
mattwil Thu Apr 2 09:42:12 2009 UTC Modified files: /php-src/ext/standard/tests/strings explode.phpt explode1.phpt explode_variation5.phpt explode_variation6.phpt Log: Fixed tests, reverted changes from bug #47546 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode.phpt?r1=1.11&r2=1.12&diff_format=u Index: php-src/ext/standard/tests/strings/explode.phpt diff -u php-src/ext/standard/tests/strings/explode.phpt:1.11 php-src/ext/standard/tests/strings/explode.phpt:1.12 --- php-src/ext/standard/tests/strings/explode.phpt:1.11Sun Mar 8 06:19:40 2009 +++ php-src/ext/standard/tests/strings/explode.phpt Thu Apr 2 09:42:12 2009 @@ -65,9 +65,7 @@ [0]=> unicode(11) "otherstring" } -array(1) { - [0]=> - unicode(11) "otherstring" +array(0) { } array(7) { [0]=> @@ -133,23 +131,19 @@ [20]=> unicode(1) "-" } -array(4) { +array(3) { [0]=> unicode(10) "a lazy dog" [1]=> unicode(5) "jumps" [2]=> unicode(4) "over" - [3]=> - unicode(0) "" } -array(3) { +array(2) { [0]=> unicode(10) "a lazy dog" [1]=> unicode(5) "jumps" - [2]=> - unicode(4) "over" } array(1) { [0]=> @@ -159,13 +153,11 @@ } array(0) { } -array(3) { +array(2) { [0]=> unicode(10) "a lazy dog" [1]=> unicode(11) "jumps::over" - [2]=> - unicode(0) "" } array(1) { [0]=> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode1.phpt?r1=1.5&r2=1.6&diff_format=u Index: php-src/ext/standard/tests/strings/explode1.phpt diff -u php-src/ext/standard/tests/strings/explode1.phpt:1.5 php-src/ext/standard/tests/strings/explode1.phpt:1.6 --- php-src/ext/standard/tests/strings/explode1.phpt:1.5Sun Mar 8 06:19:40 2009 +++ php-src/ext/standard/tests/strings/explode1.phptThu Apr 2 09:42:12 2009 @@ -113,11 +113,9 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 3 -- -array(2) { +array(1) { [0]=> unicode(10) "1234NULL23" - [1]=> - unicode(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -134,7 +132,7 @@ unicode(43) "0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 4 -- -array(6) { +array(5) { [0]=> unicode(14) "1234NULL23abcd" [1]=> @@ -145,8 +143,6 @@ unicode(0) "" [4]=> unicode(0) "" - [5]=> - unicode(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -163,7 +159,7 @@ unicode(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 5 -- -array(6) { +array(5) { [0]=> unicode(14) "1234NULL23abcd" [1]=> @@ -174,8 +170,6 @@ unicode(0) "" [4]=> unicode(0) "" - [5]=> - unicode(38) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -192,7 +186,7 @@ unicode(42) "TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 6 -- -array(6) { +array(5) { [0]=> unicode(0) "" [1]=> @@ -203,8 +197,6 @@ unicode(12) ".23true-" [4]=> unicode(0) "" - [5]=> - unicode(12) ".24%PHP%ZEND" } array(1) { [0]=> @@ -234,13 +226,11 @@ Warning: explode(): Empty delimiter in %s on line %d bool(false) -- Iteration 8 -- -array(3) { +array(2) { [0]=> unicode(28) "1234NULL23abcd0TRUEFALSE" [1]=> unicode(12) "1.23true" - [2]=> - unicode(13) "1.24%PHP%ZEND" } array(1) { [0]=> @@ -257,11 +247,9 @@ unicode(27) "1.23true-11.24%PHP%ZEND" } -- Iteration 9 -- -array(2) { +array(1) { [0]=> unicode(28) "1234NULL23abcd0TRUEFALSE" - [1]=> - unicode(23) "true-11.24%PHP%ZEND" } array(1) { [0]=> @@ -278,7 +266,7 @@ unicode(23) "true-11.24%PHP%ZEND" } -- Iteration 10 -- -array(7) { +array(6) { [0]=> unicode(3) "123" [1]=> @@ -291,8 +279,6 @@ unicode(0) "" [5]=> unicode(9) "true-11.2" - [6]=> - unicode(9) "%PHP%ZEND" } array(1) { [0]=> @@ -309,13 +295,11 @@ unicode(53) "NULL23abcd0TRUEFALSE-11.23true-11.24%PHP%ZEND" } -- Iteration 11 -- -array(3) { +array(2) { [0]=> unicode(48) "1234NULL23abcd0TRUEFALSE-11.23true-11.24" [1]=> unicode(3) "PHP" - [2]=> - unicode(4) "ZEND" } array(1) { [0]=> @@ -353,7 +337,7 @@ } *** Testing explode() for maximum limit of string with Limit = -1 *** -array(52) { +array(51) { [0]=> unicode(1) "1" [1]=> @@ -456,8 +440,6 @@ unicode(2) "55" [50]=> unicode(1) "1" - [51]=> - unicode(1) "1" } *** Testing explode() with string variations as input argument *** http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/explode_variation5.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/strings/explode_variation5.phpt diff -u php-src/ext/standard/tests/strings/explode_variation5.phpt:1.2 php-src/ext/standard/tests/strings/explode_variation5.phpt:1.3 --- php-src/ext/standard/tests/strings/explode_variation5.phpt:1.2 Sun Mar 8 06:19:40 2009 +++ php-src/ext/
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard string.c /ext/standard/tests/strings bug47546.phpt
mattwil Wed Apr 1 17:07:47 2009 UTC Removed files: (Branch: PHP_5_2) /php-src/ext/standard/tests/strings bug47546.phpt Modified files: /php-srcNEWS /php-src/ext/standard string.c Log: MFH: Fixed bug #47560 (explode()'s limit parameter odd behaviour) by reverting change for bug #47546 http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1456&r2=1.2027.2.547.2.1457&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1456 php-src/NEWS:1.2027.2.547.2.1457 --- php-src/NEWS:1.2027.2.547.2.1456Tue Mar 31 17:21:02 2009 +++ php-src/NEWSWed Apr 1 17:07:45 2009 @@ -25,8 +25,6 @@ literal). (Ilia) - Fixed bug #47616 (curl keeps crashing). (Felipe) - Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware). (Ilia) -- Fixed bug #47546 (Default value for limit parameter in explode is 0, not -1). - (Kalle) - Fixed bug #47487 (performance degraded when reading large chunks after fix of bug #44607). (Arnaud) - Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.82&r2=1.445.2.14.2.83&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.445.2.14.2.82 php-src/ext/standard/string.c:1.445.2.14.2.83 --- php-src/ext/standard/string.c:1.445.2.14.2.82 Tue Mar 3 11:50:32 2009 +++ php-src/ext/standard/string.c Wed Apr 1 17:07:46 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: string.c,v 1.445.2.14.2.82 2009/03/03 11:50:32 kalle Exp $ */ +/* $Id: string.c,v 1.445.2.14.2.83 2009/04/01 17:07:46 mattwil Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1042,7 +1042,7 @@ if (limit == 0 || limit == 1) { add_index_stringl(return_value, 0, Z_STRVAL_PP(str), Z_STRLEN_PP(str), 1); - } else if (limit < -1 && argc == 3) { + } else if (limit < 0 && argc == 3) { php_explode_negative_limit(*delim, *str, return_value, limit); } else { php_explode(*delim, *str, return_value, limit); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS /ext/standard php_string.h string.c /ext/standard/tests/strings bug47546.phpt
mattwil Wed Apr 1 17:05:37 2009 UTC Removed files: (Branch: PHP_5_3) /php-src/ext/standard/tests/strings bug47546.phpt Modified files: /php-srcNEWS /php-src/ext/standard php_string.h string.c Log: MFH: explode() stuff: - Fixed bug #47560 (explode()'s limit parameter odd behaviour) by reverting change for bug #47546 - Changed int to long where needed (should fix memory errors from overflow seen in bug #47854) - Simplified logic a bit with limit and its default value - php_explode_negative_limit(): removed safe_emalloc (not needed; plain erealloc is used later) - Moved declarations/allocation to optimize if the delimiter isn't found - Changed ALLOC_STEP size for less realloc's (and maybe better memory block alignment?) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.548&r2=1.2027.2.547.2.965.2.549&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.548 php-src/NEWS:1.2027.2.547.2.965.2.549 --- php-src/NEWS:1.2027.2.547.2.965.2.548 Wed Apr 1 14:00:35 2009 +++ php-src/NEWSWed Apr 1 17:05:34 2009 @@ -18,6 +18,7 @@ crashes). (Dmitry) - Fixed bug #47699 (autoload and late static binding). (Dmitry) - Fixed bug #47596 (Bus error on parsing file). (Dmitry) +- Fixed bug #47560 (explode()'s limit parameter odd behaviour). (Matt) - Fixed bug #47516 (nowdoc can not be embed in heredoc but can be embed in double quote). (Dmitry) - Fixed bug #47038 (Memory leak in include). (Dmitry) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/php_string.h?r1=1.87.2.2.2.3.2.4&r2=1.87.2.2.2.3.2.5&diff_format=u Index: php-src/ext/standard/php_string.h diff -u php-src/ext/standard/php_string.h:1.87.2.2.2.3.2.4 php-src/ext/standard/php_string.h:1.87.2.2.2.3.2.5 --- php-src/ext/standard/php_string.h:1.87.2.2.2.3.2.4 Wed Dec 31 11:15:45 2008 +++ php-src/ext/standard/php_string.h Wed Apr 1 17:05:35 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: php_string.h,v 1.87.2.2.2.3.2.4 2008/12/31 11:15:45 sebastian Exp $ */ +/* $Id: php_string.h,v 1.87.2.2.2.3.2.5 2009/04/01 17:05:35 mattwil Exp $ */ /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */ @@ -138,7 +138,7 @@ PHPAPI int php_char_to_str_ex(char *str, uint len, char from, char *to, int to_len, zval *result, int case_sensitivity, int *replace_count); PHPAPI int php_char_to_str(char *str, uint len, char from, char *to, int to_len, zval *result); PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC); -PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, int limit); +PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, long limit); PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end); PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.69.2.45&r2=1.445.2.14.2.69.2.46&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.445.2.14.2.69.2.45 php-src/ext/standard/string.c:1.445.2.14.2.69.2.46 --- php-src/ext/standard/string.c:1.445.2.14.2.69.2.45 Wed Apr 1 14:00:38 2009 +++ php-src/ext/standard/string.c Wed Apr 1 17:05:35 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: string.c,v 1.445.2.14.2.69.2.45 2009/04/01 14:00:38 iliaa Exp $ */ +/* $Id: string.c,v 1.445.2.14.2.69.2.46 2009/04/01 17:05:35 mattwil Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -928,7 +928,7 @@ /* {{{ php_explode */ -PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, int limit) +PHPAPI void php_explode(zval *delim, zval *str, zval *return_value, long limit) { char *p1, *p2, *endp; @@ -944,7 +944,7 @@ add_next_index_stringl(return_value, p1, p2 - p1, 1); p1 = p2 + Z_STRLEN_P(delim); } while ((p2 = php_memnstr(p1, Z_STRVAL_P(delim), Z_STRLEN_P(delim), endp)) != NULL && -(limit == -1 || --limit > 1)); +--limit > 1); if (p1 <= endp) add_next_index_stringl(return_value, p1, endp-p1, 1); @@ -954,12 +954,10 @@ /* {{{ php_explode_negative_limit */ -PHPAPI void php_explode_negative_limit(zval *delim, zval *str, zval *return_value, int limit) +PHPAPI void php_explode_negative_limit(zval *delim, zval *str, zval *return_value, long limit) { -#define EXPLODE_ALLOC_STEP 50 +#define EXPLODE_ALLOC_STEP 64 char *p1, *p2, *endp; - int allocated = EXPLODE_ALLOC_STEP, found = 0, i = 0, to_return = 0; - char **positions = safe_emalloc(allocated, sizeof(char *), 0); endp = Z_STRVAL_P(str) + Z_STRLEN_P(str); @@ -972,6 +970,10 @@
[PHP-CVS] cvs: php-src /ext/standard php_string.h string.c /ext/standard/tests/strings bug47546.phpt
mattwil Wed Apr 1 17:04:17 2009 UTC Removed files: /php-src/ext/standard/tests/strings bug47546.phpt Modified files: /php-src/ext/standard php_string.h string.c Log: explode() stuff: - Fixed bug #47560 (explode()'s limit parameter odd behaviour) by reverting change for bug #47546 - Changed int to long where needed (should fix memory errors from overflow seen in bug #47854) - Simplified logic a bit with limit and its default value - php_explode_negative_limit(): removed safe_emalloc (not needed; plain erealloc is used later) - Moved declarations/allocation to optimize if the delimiter isn't found - Changed ALLOC_STEP size for less realloc's (and maybe better memory block alignment?) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/php_string.h?r1=1.113&r2=1.114&diff_format=u Index: php-src/ext/standard/php_string.h diff -u php-src/ext/standard/php_string.h:1.113 php-src/ext/standard/php_string.h:1.114 --- php-src/ext/standard/php_string.h:1.113 Tue Mar 10 23:39:40 2009 +++ php-src/ext/standard/php_string.h Wed Apr 1 17:04:16 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: php_string.h,v 1.113 2009/03/10 23:39:40 helly Exp $ */ +/* $Id: php_string.h,v 1.114 2009/04/01 17:04:16 mattwil Exp $ */ /* Synced with php 3.0 revision 1.43 1999-06-16 [ssb] */ @@ -158,7 +158,7 @@ PHPAPI int php_char_to_str_ex(char *str, uint len, char from, char *to, int to_len, zval *result, int case_sensitivity, int *replace_count); PHPAPI int php_char_to_str(char *str, uint len, char from, char *to, int to_len, zval *result); PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC); -PHPAPI void php_explode(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, int limit); +PHPAPI void php_explode(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, long limit); PHPAPI size_t php_strspn(char *s1, char *s2, char *s1_end, char *s2_end); PHPAPI size_t php_strcspn(char *s1, char *s2, char *s1_end, char *s2_end); http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.696&r2=1.697&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.696 php-src/ext/standard/string.c:1.697 --- php-src/ext/standard/string.c:1.696 Thu Mar 26 22:16:48 2009 +++ php-src/ext/standard/string.c Wed Apr 1 17:04:16 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: string.c,v 1.696 2009/03/26 22:16:48 felipe Exp $ */ +/* $Id: string.c,v 1.697 2009/04/01 17:04:16 mattwil Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1137,7 +1137,7 @@ /* {{{ php_explode */ -PHPAPI void php_explode(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, int limit) +PHPAPI void php_explode(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, long limit) { char *p1, *p2, *endp; @@ -1152,7 +1152,7 @@ add_next_index_stringl(return_value, p1, p2-p1, 1); p1 = p2 + delim_len; } while ( (p2 = php_memnstr(p1, delim, delim_len, endp)) != NULL && - (limit == -1 || --limit > 1) ); + --limit > 1 ); if ( p1 <= endp ) { add_next_index_stringl(return_value, p1, endp-p1, 1); @@ -1163,12 +1163,10 @@ /* {{{ php_explode_negative_limit */ -PHPAPI void php_explode_negative_limit(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, int limit) +PHPAPI void php_explode_negative_limit(char *delim, uint delim_len, char *str, uint str_len, zend_uchar str_type, zval *return_value, long limit) { -#define EXPLODE_ALLOC_STEP 50 +#define EXPLODE_ALLOC_STEP 64 char *p1, *p2, *endp; - int allocated = EXPLODE_ALLOC_STEP, found = 0, i = 0, to_return = 0; - char **positions = safe_emalloc(allocated, sizeof(char *), 0); endp = str + str_len; p1 = str; @@ -1180,6 +1178,10 @@ by doing nothing we return empty array */ } else { + int allocated = EXPLODE_ALLOC_STEP, found = 0; + long i, to_return; + char **positions = emalloc(allocated * sizeof(char *)); + positions[found++] = p1; do { if ( found >= allocated ) { @@ -1195,8 +1197,8 @@ add_next_index_stringl(return_value, positions[i], (positions[i+1]-delim_len) - positions[i], 1); } + efree(positions); } - efree(positions); #
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/filter logical_filters.c
mattwil Tue Mar 31 11:22:19 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/filter logical_filters.c Log: - MFH: Removed unused LONG_SIGN_MASK definition, and a stray \ - Changed sign flag to int (it's no longer being used in a calculation) http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.1.2.32&r2=1.1.2.33&diff_format=u Index: php-src/ext/filter/logical_filters.c diff -u php-src/ext/filter/logical_filters.c:1.1.2.32 php-src/ext/filter/logical_filters.c:1.1.2.33 --- php-src/ext/filter/logical_filters.c:1.1.2.32 Tue Mar 31 10:05:37 2009 +++ php-src/ext/filter/logical_filters.cTue Mar 31 11:22:19 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: logical_filters.c,v 1.1.2.32 2009/03/31 10:05:37 dmitry Exp $ */ +/* $Id: logical_filters.c,v 1.1.2.33 2009/03/31 11:22:19 mattwil Exp $ */ #include "php_filter.h" #include "filter_private.h" @@ -30,8 +30,6 @@ # include #endif -#define LONG_SIGN_MASK (1L << (8*sizeof(long)-1)) - #ifndef INADDR_NONE # define INADDR_NONE ((unsigned long int) -1) #endif @@ -70,7 +68,7 @@ static int php_filter_parse_int(const char *str, unsigned int str_len, long *ret TSRMLS_DC) { /* {{{ */ long ctx_value; - long sign = 0; + int sign = 0; const char *end = str + str_len; switch (*str) { @@ -97,7 +95,7 @@ while (str < end) { if (*str >= '0' && *str <= '9') { - ctx_value = (ctx_value * 10) + (*(str++) - '0'); \ + ctx_value = (ctx_value * 10) + (*(str++) - '0'); } else { return -1; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/filter logical_filters.c
mattwil Tue Mar 31 11:22:08 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/filter logical_filters.c Log: - MFH: Removed unused LONG_SIGN_MASK definition, and a stray \ - Changed sign flag to int (it's no longer being used in a calculation) http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.1.2.22.2.10&r2=1.1.2.22.2.11&diff_format=u Index: php-src/ext/filter/logical_filters.c diff -u php-src/ext/filter/logical_filters.c:1.1.2.22.2.10 php-src/ext/filter/logical_filters.c:1.1.2.22.2.11 --- php-src/ext/filter/logical_filters.c:1.1.2.22.2.10 Tue Mar 31 10:02:39 2009 +++ php-src/ext/filter/logical_filters.cTue Mar 31 11:22:08 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: logical_filters.c,v 1.1.2.22.2.10 2009/03/31 10:02:39 dmitry Exp $ */ +/* $Id: logical_filters.c,v 1.1.2.22.2.11 2009/03/31 11:22:08 mattwil Exp $ */ #include "php_filter.h" #include "filter_private.h" @@ -30,8 +30,6 @@ # include #endif -#define LONG_SIGN_MASK (1L << (8*sizeof(long)-1)) - #ifndef INADDR_NONE # define INADDR_NONE ((unsigned long int) -1) #endif @@ -70,7 +68,7 @@ static int php_filter_parse_int(const char *str, unsigned int str_len, long *ret TSRMLS_DC) { /* {{{ */ long ctx_value; - long sign = 0; + int sign = 0; const char *end = str + str_len; switch (*str) { @@ -97,7 +95,7 @@ while (str < end) { if (*str >= '0' && *str <= '9') { - ctx_value = (ctx_value * 10) + (*(str++) - '0'); \ + ctx_value = (ctx_value * 10) + (*(str++) - '0'); } else { return -1; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/filter logical_filters.c
mattwil Tue Mar 31 11:20:31 2009 UTC Modified files: /php-src/ext/filter logical_filters.c Log: - Removed unused LONG_SIGN_MASK definition, and a stray \ - Changed sign flag to int (it's no longer being used in a calculation) http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.37&r2=1.38&diff_format=u Index: php-src/ext/filter/logical_filters.c diff -u php-src/ext/filter/logical_filters.c:1.37 php-src/ext/filter/logical_filters.c:1.38 --- php-src/ext/filter/logical_filters.c:1.37 Tue Mar 31 10:02:51 2009 +++ php-src/ext/filter/logical_filters.cTue Mar 31 11:20:31 2009 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: logical_filters.c,v 1.37 2009/03/31 10:02:51 dmitry Exp $ */ +/* $Id: logical_filters.c,v 1.38 2009/03/31 11:20:31 mattwil Exp $ */ #include "php_filter.h" #include "filter_private.h" @@ -34,8 +34,6 @@ # include #endif -#define LONG_SIGN_MASK (1L << (8*sizeof(long)-1)) - #ifndef INADDR_NONE # define INADDR_NONE ((unsigned long int) -1) #endif @@ -74,7 +72,7 @@ static int php_filter_parse_int(const char *str, unsigned int str_len, long *ret TSRMLS_DC) { /* {{{ */ long ctx_value; - long sign = 0; + int sign = 0; const char *end = str + str_len; switch (*str) { @@ -101,7 +99,7 @@ while (str < end) { if (*str >= '0' && *str <= '9') { - ctx_value = (ctx_value * 10) + (*(str++) - '0'); \ + ctx_value = (ctx_value * 10) + (*(str++) - '0'); } else { return -1; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/odbc php_odbc.c
Hi Ilia, - Original Message - From: "Ilia Alshanetsky" Sent: Monday, March 23, 2009 iliaa Mon Mar 23 22:30:56 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/odbc php_odbc.c Log: Improved parameter handling http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.7.2.14&r2=1.189.2.4.2.7.2.15&diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.7.2.14 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.7.2.15 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.7.2.14 Tue Feb 17 12:38:21 2009 +++ php-src/ext/odbc/php_odbc.c Mon Mar 23 22:30:56 2009 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.7.2.14 2009/02/17 12:38:21 felipe Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.7.2.15 2009/03/23 22:30:56 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1629,17 +1629,15 @@ #ifdef HAVE_SQL_EXTENDED_FETCH SQLULEN crow; SQLUSMALLINT RowStatus[1]; - SQLLEN rownum = -1; + SQLLEN rownum; zval *pv_res, *tmp; - long pv_row; + long pv_row - 1; That last line doesn't look right. :-) - Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/json JSON_parser.c
mattwil Thu Mar 19 19:27:14 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/json JSON_parser.c Log: MFH: Handle overflow when decoding large numbers and avoid 2 conversions http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.16&r2=1.1.2.17&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.1.2.16 php-src/ext/json/JSON_parser.c:1.1.2.17 --- php-src/ext/json/JSON_parser.c:1.1.2.16 Tue Mar 17 02:02:45 2009 +++ php-src/ext/json/JSON_parser.c Thu Mar 19 19:27:14 2009 @@ -284,15 +284,27 @@ if (type == IS_LONG) { - long l = strtol(buf->c, NULL, 10); - if (l > LONG_MAX || l < LONG_MIN) { - ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); - } else { - ZVAL_LONG(*z, l); + if (buf->c[0] == '-') { + buf->len--; } + + if (buf->len >= MAX_LENGTH_OF_LONG - 1) { + if (buf->len == MAX_LENGTH_OF_LONG - 1) { + int cmp = strcmp(buf->c + (buf->c[0] == '-'), long_min_digits); + + if (!(cmp < 0 || (cmp == 0 && buf->c[0] == '-'))) { + goto use_double; + } + } else { + goto use_double; + } + } + + ZVAL_LONG(*z, strtol(buf->c, NULL, 10)); } else if (type == IS_DOUBLE) { +use_double: ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); } else if (type == IS_STRING) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/json JSON_parser.c
mattwil Thu Mar 19 19:26:00 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/json JSON_parser.c Log: MFH: Avoid 2 conversions when decoding numbers http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.12.2.8&r2=1.1.2.12.2.9&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.1.2.12.2.8 php-src/ext/json/JSON_parser.c:1.1.2.12.2.9 --- php-src/ext/json/JSON_parser.c:1.1.2.12.2.8 Tue Mar 17 14:57:39 2009 +++ php-src/ext/json/JSON_parser.c Thu Mar 19 19:26:00 2009 @@ -289,16 +289,27 @@ if (type == IS_LONG) { - long l = strtol(buf->c, NULL, 10); - double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < LONG_MIN) { - ZVAL_DOUBLE(*z, d); - } else { - ZVAL_LONG(*z, l); + if (buf->c[0] == '-') { + buf->len--; } + + if (buf->len >= MAX_LENGTH_OF_LONG - 1) { + if (buf->len == MAX_LENGTH_OF_LONG - 1) { + int cmp = strcmp(buf->c + (buf->c[0] == '-'), long_min_digits); + + if (!(cmp < 0 || (cmp == 0 && buf->c[0] == '-'))) { + goto use_double; + } + } else { + goto use_double; + } + } + + ZVAL_LONG(*z, strtol(buf->c, NULL, 10)); } else if (type == IS_DOUBLE) { +use_double: ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); } else if (type == IS_STRING) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/json JSON_parser.c
mattwil Thu Mar 19 19:25:42 2009 UTC Modified files: /php-src/ext/json JSON_parser.c Log: Avoid 2 conversions when decoding numbers http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.24&r2=1.25&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.24 php-src/ext/json/JSON_parser.c:1.25 --- php-src/ext/json/JSON_parser.c:1.24 Tue Mar 17 14:56:49 2009 +++ php-src/ext/json/JSON_parser.c Thu Mar 19 19:25:42 2009 @@ -289,16 +289,27 @@ if (type == IS_LONG) { - long l = strtol(buf->c, NULL, 10); - double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < LONG_MIN) { - ZVAL_DOUBLE(*z, d); - } else { - ZVAL_LONG(*z, l); + if (buf->c[0] == '-') { + buf->len--; } + + if (buf->len >= MAX_LENGTH_OF_LONG - 1) { + if (buf->len == MAX_LENGTH_OF_LONG - 1) { + int cmp = strcmp(buf->c + (buf->c[0] == '-'), long_min_digits); + + if (!(cmp < 0 || (cmp == 0 && buf->c[0] == '-'))) { + goto use_double; + } + } else { + goto use_double; + } + } + + ZVAL_LONG(*z, strtol(buf->c, NULL, 10)); } else if (type == IS_DOUBLE) { +use_double: ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); } else if (type == IS_STRING) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize bug46882.phpt
Hi Pierre, Felipe, - Original Message - From: "Pierre Joye" Sent: Tuesday, March 17, 2009 2009/3/17 Matt Wilmas : > mattwil Tue Mar 17 22:02:05 2009 UTC > > Added files: > /php-src/ext/standard/tests/serialize bug46882.phpt > > Modified files: > /php-src/ext/standard var_unserializer.c var_unserializer.re > Log: > Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with > different bit numbers) > > http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.97&r2=1.98&diff_format=u > Index: php-src/ext/standard/var_unserializer.c > diff -u php-src/ext/standard/var_unserializer.c:1.97 > php-src/ext/standard/var_unserializer.c:1.98 > +--+ > - | PHP Version 6 | > + | PHP Version 5 | That's 6 not 5 :) Hmm, I think I realize how I got that screwed up, with copy/paste and not paying attention. :-) I thought everything was updated, and always check a diff first, but missed that... I see Felipe was on it right away though. :-) Thanks Felipe! -- Pierre - Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize bug46882.phpt
mattwil Tue Mar 17 22:04:57 2009 UTC Added files: (Branch: PHP_5_2) /php-src/ext/standard/tests/serialize bug46882.phpt Modified files: /php-srcNEWS /php-src/ext/standard var_unserializer.c var_unserializer.re Log: MFH: Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different bit numbers) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1441&r2=1.2027.2.547.2.1442&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1441 php-src/NEWS:1.2027.2.547.2.1442 --- php-src/NEWS:1.2027.2.547.2.1441Tue Mar 17 02:03:58 2009 +++ php-src/NEWSTue Mar 17 22:04:56 2009 @@ -18,6 +18,8 @@ addresses in the filter extension). (Ilia) - Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent previousSibling). (Rob) +- Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different + bit numbers). (Matt) - Fixed bug #45799 (imagepng() crashes on empty image). (Martin McNickle, Takeshi Abe) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.10&r2=1.70.2.4.2.11&diff_format=u Index: php-src/ext/standard/var_unserializer.c diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.10 php-src/ext/standard/var_unserializer.c:1.70.2.4.2.11 --- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.10 Sat Oct 4 13:11:36 2008 +++ php-src/ext/standard/var_unserializer.c Tue Mar 17 22:04:57 2009 @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sat Oct 4 10:07:18 2008 */ +/* Generated by re2c 0.13.5 on Tue Mar 17 16:18:30 2009 */ #line 1 "ext/standard/var_unserializer.re" /* +--+ @@ -18,7 +18,7 @@ +--+ */ -/* $Id: var_unserializer.c,v 1.70.2.4.2.10 2008/10/04 13:11:36 felipe Exp $ */ +/* $Id: var_unserializer.c,v 1.70.2.4.2.11 2009/03/17 22:04:57 mattwil Exp $ */ #include "php.h" #include "ext/standard/php_var.h" @@ -458,7 +458,7 @@ yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy95; yy3: -#line 698 "ext/standard/var_unserializer.re" +#line 721 "ext/standard/var_unserializer.re" { return 0; } #line 464 "ext/standard/var_unserializer.c" yy4: @@ -503,7 +503,7 @@ goto yy3; yy14: ++YYCURSOR; -#line 692 "ext/standard/var_unserializer.re" +#line 715 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); @@ -539,7 +539,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 580 "ext/standard/var_unserializer.re" +#line 603 "ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -676,7 +676,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 572 "ext/standard/var_unserializer.re" +#line 595 "ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -705,7 +705,7 @@ yych = *++YYCURSOR; if (yych != '{') goto yy18; ++YYCURSOR; -#line 550 "ext/standard/var_unserializer.re" +#line 573 "ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -748,7 +748,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 521 "ext/standard/var_unserializer.re" +#line 544 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -798,7 +798,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 493 "ext/standard/var_unserializer.re" +#line 516 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -914,14 +914,17 @@ } yy63: ++YYCURSOR; -#line 486 "ext/standard/var_unserializer.re" +#line 506 "ext/standard/var_unserializer.re" { +#if SIZEOF_LONG == 4 +use_double: +#endif *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 925 "ext/standard/var_unserializer.c" +#line 928 "ext/standard/var_unserializer.c" yy65: yych = *++YYCURSOR; if (yych <= ',') { @@ -980,7 +983,7 @@ yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 471 "ext/standard/var_unserializer.re" +#line 491 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -995,7 +998,7 @@ return 1; } -#line 999 "ext/standard/var_unserializer.c" +#line 1002 "ext/standard/var_unserializer.c" yy76: yych = *++YYCURSOR; if (yych == 'N') goto yy73; @@ -1024,12 +1027,32 @@
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize bug46882.phpt
mattwil Tue Mar 17 22:04:10 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/standard/tests/serialize bug46882.phpt Modified files: /php-src/ext/standard var_unserializer.c var_unserializer.re Log: MFH: Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different bit numbers) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.7.2.8&r2=1.70.2.4.2.7.2.9&diff_format=u Index: php-src/ext/standard/var_unserializer.c diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.7.2.8 php-src/ext/standard/var_unserializer.c:1.70.2.4.2.7.2.9 --- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.7.2.8Tue Nov 4 15:58:55 2008 +++ php-src/ext/standard/var_unserializer.c Tue Mar 17 22:04:10 2009 @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Tue Nov 4 01:37:59 2008 */ +/* Generated by re2c 0.13.5 on Tue Mar 17 15:55:10 2009 */ #line 1 "ext/standard/var_unserializer.re" /* +--+ @@ -18,7 +18,7 @@ +--+ */ -/* $Id: var_unserializer.c,v 1.70.2.4.2.7.2.8 2008/11/04 15:58:55 helly Exp $ */ +/* $Id: var_unserializer.c,v 1.70.2.4.2.7.2.9 2009/03/17 22:04:10 mattwil Exp $ */ #include "php.h" #include "ext/standard/php_var.h" @@ -456,7 +456,7 @@ yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy95; yy3: -#line 699 "ext/standard/var_unserializer.re" +#line 722 "ext/standard/var_unserializer.re" { return 0; } #line 462 "ext/standard/var_unserializer.c" yy4: @@ -501,7 +501,7 @@ goto yy3; yy14: ++YYCURSOR; -#line 693 "ext/standard/var_unserializer.re" +#line 716 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); @@ -537,7 +537,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 576 "ext/standard/var_unserializer.re" +#line 599 "ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -679,7 +679,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 568 "ext/standard/var_unserializer.re" +#line 591 "ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -708,7 +708,7 @@ yych = *++YYCURSOR; if (yych != '{') goto yy18; ++YYCURSOR; -#line 548 "ext/standard/var_unserializer.re" +#line 571 "ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -749,7 +749,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 519 "ext/standard/var_unserializer.re" +#line 542 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -799,7 +799,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 491 "ext/standard/var_unserializer.re" +#line 514 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -915,14 +915,17 @@ } yy63: ++YYCURSOR; -#line 484 "ext/standard/var_unserializer.re" +#line 504 "ext/standard/var_unserializer.re" { +#if SIZEOF_LONG == 4 +use_double: +#endif *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 926 "ext/standard/var_unserializer.c" +#line 929 "ext/standard/var_unserializer.c" yy65: yych = *++YYCURSOR; if (yych <= ',') { @@ -981,7 +984,7 @@ yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 469 "ext/standard/var_unserializer.re" +#line 489 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -996,7 +999,7 @@ return 1; } -#line 1000 "ext/standard/var_unserializer.c" +#line 1003 "ext/standard/var_unserializer.c" yy76: yych = *++YYCURSOR; if (yych == 'N') goto yy73; @@ -1025,12 +1028,32 @@ ++YYCURSOR; #line 462 "ext/standard/var_unserializer.re" { +#if SIZEOF_LONG == 4 + int digits = YYCURSOR - start - 3; + + if (start[2] == '-' || start[2] == '+') { + digits--; + } + + /* Use double for large long values that were serialized on a 64-bit system */ + if (digits >= MAX_LENGTH_OF_LONG - 1) { + if (digits == MAX_LENGTH_OF_LONG - 1) { + int cmp = strncmp(YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); + + if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { + goto use_double; +
[PHP-CVS] cvs: php-src /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize bug46882.phpt
mattwil Tue Mar 17 22:02:05 2009 UTC Added files: /php-src/ext/standard/tests/serialize bug46882.phpt Modified files: /php-src/ext/standard var_unserializer.c var_unserializer.re Log: Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with different bit numbers) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.97&r2=1.98&diff_format=u Index: php-src/ext/standard/var_unserializer.c diff -u php-src/ext/standard/var_unserializer.c:1.97 php-src/ext/standard/var_unserializer.c:1.98 --- php-src/ext/standard/var_unserializer.c:1.97Tue Mar 10 23:39:41 2009 +++ php-src/ext/standard/var_unserializer.c Tue Mar 17 22:02:05 2009 @@ -1,8 +1,8 @@ -/* Generated by re2c 0.13.5 on Fri Aug 29 18:45:19 2008 */ +/* Generated by re2c 0.13.5 on Tue Mar 17 16:18:00 2009 */ #line 1 "ext/standard/var_unserializer.re" /* +--+ - | PHP Version 6| + | PHP Version 5| +--+ | Copyright (c) 1997-2006 The PHP Group| +--+ @@ -18,7 +18,7 @@ +--+ */ -/* $Id: var_unserializer.c,v 1.97 2009/03/10 23:39:41 helly Exp $ */ +/* $Id: var_unserializer.c,v 1.98 2009/03/17 22:02:05 mattwil Exp $ */ #include "php.h" #include "ext/standard/php_var.h" @@ -522,7 +522,7 @@ yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy103; yy3: -#line 794 "ext/standard/var_unserializer.re" +#line 817 "ext/standard/var_unserializer.re" { return 0; } #line 528 "ext/standard/var_unserializer.c" yy4: @@ -571,7 +571,7 @@ goto yy3; yy15: ++YYCURSOR; -#line 788 "ext/standard/var_unserializer.re" +#line 811 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); @@ -607,7 +607,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy19; ++YYCURSOR; -#line 670 "ext/standard/var_unserializer.re" +#line 693 "ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -750,7 +750,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy19; ++YYCURSOR; -#line 662 "ext/standard/var_unserializer.re" +#line 685 "ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -779,7 +779,7 @@ yych = *++YYCURSOR; if (yych != '{') goto yy19; ++YYCURSOR; -#line 642 "ext/standard/var_unserializer.re" +#line 665 "ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -820,7 +820,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy19; ++YYCURSOR; -#line 613 "ext/standard/var_unserializer.re" +#line 636 "ext/standard/var_unserializer.re" { size_t len, maxlen; UChar *ustr; @@ -870,7 +870,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy19; ++YYCURSOR; -#line 584 "ext/standard/var_unserializer.re" +#line 607 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -920,7 +920,7 @@ yych = *++YYCURSOR; if (yych != '"') goto yy19; ++YYCURSOR; -#line 556 "ext/standard/var_unserializer.re" +#line 579 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -1036,14 +1036,17 @@ } yy71: ++YYCURSOR; -#line 549 "ext/standard/var_unserializer.re" +#line 569 "ext/standard/var_unserializer.re" { +#if SIZEOF_LONG == 4 +use_double: +#endif *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 1047 "ext/standard/var_unserializer.c" +#line 1050 "ext/standard/var_unserializer.c" yy73: yych = *++YYCURSOR; if (yych <= ',') { @@ -1102,7 +1105,7 @@ yych = *++YYCURSOR; if (yych != ';') goto yy19; ++YYCURSOR; -#line 534 "ext/standard/var_unserializer.re" +#line 554 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -1117,7 +1120,7 @@ return 1; } -#line 1121 "ext/standard/var_unserializer.c" +#line 1124 "ext/standard/var_unserializer.c" yy84: yych = *++YYCURSOR; if (yych == 'N') goto yy81; @@ -1146,12 +1149,32 @@ ++YYCURSOR; #line 527 "ext/standard/var_unserializer.re" { +#if SIZEOF_LONG == 4 + int digits = YYCURSOR - start - 3; + +
Re: [PHP-CVS] cvs: php-src /ext/json JSON_parser.c
Hi Scott, Didn't get to send a message before you corrected the decoding, but was going to suggest the method for long vs double checking that's used in the scanner, is_numeric_string(), etc. (and I'm about to add a couple more). It saves from using both strto* functions. :-) See the attached patch against HEAD. I guess I could go ahead and do it later anyway, since your change didn't get merged to 5.2? - Matt - Original Message - From: "Scott MacVicar" Sent: Tuesday, March 17, 2009 scottmac Tue Mar 17 14:56:49 2009 UTC Modified files: /php-src/ext/json JSON_parser.c Log: Deal with overflow when decoding large numbers http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.23&r2=1.24&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.23 php-src/ext/json/JSON_parser.c:1.24 --- php-src/ext/json/JSON_parser.c:1.23 Tue Mar 17 02:00:08 2009 +++ php-src/ext/json/JSON_parser.c Tue Mar 17 14:56:49 2009 @@ -290,8 +290,9 @@ if (type == IS_LONG) { long l = strtol(buf->c, NULL, 10); - if (l > LONG_MAX || l < LONG_MIN) { - ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); + double d = zend_strtod(buf->c, NULL); + if (d > LONG_MAX || d < LONG_MIN) { + ZVAL_DOUBLE(*z, d); } else { ZVAL_LONG(*z, l); } Index: ext/json/JSON_parser.c === RCS file: /repository/php-src/ext/json/JSON_parser.c,v retrieving revision 1.24 diff -u -r1.24 JSON_parser.c --- ext/json/JSON_parser.c 17 Mar 2009 14:56:49 - 1.24 +++ ext/json/JSON_parser.c 17 Mar 2009 19:52:00 - @@ -289,16 +289,27 @@ if (type == IS_LONG) { - long l = strtol(buf->c, NULL, 10); - double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < LONG_MIN) { - ZVAL_DOUBLE(*z, d); - } else { - ZVAL_LONG(*z, l); + if (buf->c[0] == '-') { + buf->len--; } + + if (buf->len >= MAX_LENGTH_OF_LONG - 1) { + if (buf->len == MAX_LENGTH_OF_LONG - 1) { + int cmp = strcmp(buf->c + (buf->c[0] == '-'), long_min_digits); + + if (!(cmp < 0 || (cmp == 0 && buf->c[0] == '-'))) { + goto use_double; + } + } else { + goto use_double; + } + } + + ZVAL_LONG(*z, strtol(buf->c, NULL, 10)); } else if (type == IS_DOUBLE) { +use_double: ZVAL_DOUBLE(*z, zend_strtod(buf->c, NULL)); } else if (type == IS_STRING) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard string.c
mattwil Tue Mar 17 00:02:40 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard string.c Log: Removed unneeded HashPosition variable (php_implode() doesn't change the internal pointer) - It was added in '06 with the "200-300%" implode() optimization (hasn't been merged to HEAD) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.69.2.43&r2=1.445.2.14.2.69.2.44&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.445.2.14.2.69.2.43 php-src/ext/standard/string.c:1.445.2.14.2.69.2.44 --- php-src/ext/standard/string.c:1.445.2.14.2.69.2.43 Tue Mar 3 11:47:31 2009 +++ php-src/ext/standard/string.c Tue Mar 17 00:02:39 2009 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: string.c,v 1.445.2.14.2.69.2.43 2009/03/03 11:47:31 kalle Exp $ */ +/* $Id: string.c,v 1.445.2.14.2.69.2.44 2009/03/17 00:02:39 mattwil Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1130,7 +1130,6 @@ PHP_FUNCTION(implode) { zval **arg1 = NULL, **arg2 = NULL, *delim, *arr; - HashPosition pos; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z|Z", &arg1, &arg2) == FAILURE) { return; @@ -1162,13 +1161,9 @@ return; } } - - pos = Z_ARRVAL_P(arr)->pInternalPointer; php_implode(delim, arr, return_value TSRMLS_CC); - Z_ARRVAL_P(arr)->pInternalPointer = pos; - if (arg2 == NULL) { FREE_ZVAL(delim); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS
mattwil Tue Feb 17 14:28:16 2009 UTC Modified files: (Branch: PHP_5_2) /php-srcNEWS Log: Entry for bug #47422 http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1422&r2=1.2027.2.547.2.1423&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1422 php-src/NEWS:1.2027.2.547.2.1423 --- php-src/NEWS:1.2027.2.547.2.1422Tue Feb 17 10:40:18 2009 +++ php-src/NEWSTue Feb 17 14:28:15 2009 @@ -1,6 +1,8 @@ PHPNEWS ||| ?? Feb 2009, PHP 5.2.9 +- Fixed bug #47422 (modulus operator returns incorrect results on 64 bit linux). + (Matt) - Fixed bug #47399 (mb_check_encoding() returns true for some illegal SJIS characters). (for-bugs at hnw dot jp, Moriyoshi) - Fixed bug #45940 (MySQLI OO does not populate connect_error property on -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /sapi/cgi fastcgi.c
mattwil Sun Dec 7 10:55:47 2008 UTC Modified files: (Branch: PHP_5_2) /php-srcNEWS /php-src/sapi/cgi fastcgi.c Log: MFH: Fixed bug #46782 (fastcgi.c parse error) http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.1348&r2=1.2027.2.547.2.1349&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.1348 php-src/NEWS:1.2027.2.547.2.1349 --- php-src/NEWS:1.2027.2.547.2.1348Thu Dec 4 13:17:28 2008 +++ php-src/NEWSSun Dec 7 10:55:47 2008 @@ -1,6 +1,7 @@ PHPNEWS ||| ?? ??? 2009, PHP 5.2.8 +- Fixed bug #46782 (fastcgi.c parse error). (Matt) - Fixed bug #46739 (array returned by curl_getinfo should contain content_type key). (Mikko) http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.32&r2=1.4.2.13.2.33&diff_format=u Index: php-src/sapi/cgi/fastcgi.c diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.32 php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.33 --- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.32Tue Oct 21 16:43:59 2008 +++ php-src/sapi/cgi/fastcgi.c Sun Dec 7 10:55:47 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: fastcgi.c,v 1.4.2.13.2.32 2008/10/21 16:43:59 lbarnaud Exp $ */ +/* $Id: fastcgi.c,v 1.4.2.13.2.33 2008/12/07 10:55:47 mattwil Exp $ */ #include "php.h" #include "fastcgi.h" @@ -183,8 +183,14 @@ int fcgi_init(void) { if (!is_initialized) { +#ifndef _WIN32 + sa_t sa; + socklen_t len = sizeof(sa); +#endif zend_hash_init(&fcgi_mgmt_vars, 0, NULL, fcgi_free_mgmt_var_cb, 1); fcgi_set_mgmt_var("FCGI_MPXS_CONNS", sizeof("FCGI_MPXS_CONNS")-1, "0", sizeof("0")-1); + + is_initialized = 1; #ifdef _WIN32 # if 0 /* TODO: Support for TCP sockets */ @@ -195,8 +201,6 @@ return 0; } # endif - is_initialized = 1; - if ((GetStdHandle(STD_OUTPUT_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_ERROR_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_INPUT_HANDLE) != INVALID_HANDLE_VALUE)) { @@ -223,10 +227,6 @@ return is_fastcgi = 0; } #else - sa_t sa; - socklen_t len = sizeof(sa); - - is_initialized = 1; errno = 0; if (getpeername(0, (struct sockaddr *)&sa, &len) != 0 && errno == ENOTCONN) { fcgi_setup_signals(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /sapi/cgi fastcgi.c
mattwil Sun Dec 7 10:55:17 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/sapi/cgi fastcgi.c Log: MFH: Fixed bug #46782 (fastcgi.c parse error) http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.4.2.13.2.28.2.7&r2=1.4.2.13.2.28.2.8&diff_format=u Index: php-src/sapi/cgi/fastcgi.c diff -u php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.28.2.7 php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.28.2.8 --- php-src/sapi/cgi/fastcgi.c:1.4.2.13.2.28.2.7Tue Oct 21 03:19:28 2008 +++ php-src/sapi/cgi/fastcgi.c Sun Dec 7 10:55:16 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: fastcgi.c,v 1.4.2.13.2.28.2.7 2008/10/21 03:19:28 lbarnaud Exp $ */ +/* $Id: fastcgi.c,v 1.4.2.13.2.28.2.8 2008/12/07 10:55:16 mattwil Exp $ */ #include "php.h" #include "fastcgi.h" @@ -183,8 +183,14 @@ int fcgi_init(void) { if (!is_initialized) { +#ifndef _WIN32 + sa_t sa; + socklen_t len = sizeof(sa); +#endif zend_hash_init(&fcgi_mgmt_vars, 0, NULL, fcgi_free_mgmt_var_cb, 1); fcgi_set_mgmt_var("FCGI_MPXS_CONNS", sizeof("FCGI_MPXS_CONNS")-1, "0", sizeof("0")-1); + + is_initialized = 1; #ifdef _WIN32 # if 0 /* TODO: Support for TCP sockets */ @@ -195,8 +201,6 @@ return 0; } # endif - is_initialized = 1; - if ((GetStdHandle(STD_OUTPUT_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_ERROR_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_INPUT_HANDLE) != INVALID_HANDLE_VALUE)) { @@ -223,10 +227,6 @@ return is_fastcgi = 0; } #else - sa_t sa; - socklen_t len = sizeof(sa); - - is_initialized = 1; errno = 0; if (getpeername(0, (struct sockaddr *)&sa, &len) != 0 && errno == ENOTCONN) { fcgi_setup_signals(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /sapi/cgi fastcgi.c
mattwil Sun Dec 7 10:54:16 2008 UTC Modified files: /php-src/sapi/cgi fastcgi.c Log: Fixed bug #46782 (fastcgi.c parse error) http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.49&r2=1.50&diff_format=u Index: php-src/sapi/cgi/fastcgi.c diff -u php-src/sapi/cgi/fastcgi.c:1.49 php-src/sapi/cgi/fastcgi.c:1.50 --- php-src/sapi/cgi/fastcgi.c:1.49 Tue Oct 21 03:19:07 2008 +++ php-src/sapi/cgi/fastcgi.c Sun Dec 7 10:54:16 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: fastcgi.c,v 1.49 2008/10/21 03:19:07 lbarnaud Exp $ */ +/* $Id: fastcgi.c,v 1.50 2008/12/07 10:54:16 mattwil Exp $ */ #include "php.h" #include "fastcgi.h" @@ -191,8 +191,14 @@ int fcgi_init(void) { if (!is_initialized) { +#ifndef _WIN32 + sa_t sa; + socklen_t len = sizeof(sa); +#endif zend_hash_init(&fcgi_mgmt_vars, 0, NULL, fcgi_free_mgmt_var_cb, 1); fcgi_set_mgmt_var("FCGI_MPXS_CONNS", sizeof("FCGI_MPXS_CONNS")-1, "0", sizeof("0")-1); + + is_initialized = 1; #ifdef _WIN32 # if 0 /* TODO: Support for TCP sockets */ @@ -203,8 +209,6 @@ return 0; } # endif - is_initialized = 1; - if ((GetStdHandle(STD_OUTPUT_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_ERROR_HANDLE) == INVALID_HANDLE_VALUE) && (GetStdHandle(STD_INPUT_HANDLE) != INVALID_HANDLE_VALUE)) { @@ -231,10 +235,6 @@ return is_fastcgi = 0; } #else - sa_t sa; - socklen_t len = sizeof(sa); - - is_initialized = 1; errno = 0; if (getpeername(0, (struct sockaddr *)&sa, &len) != 0 && errno == ENOTCONN) { fcgi_setup_signals(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/pdo pdo_dbh.c
mattwil Wed Dec 3 00:10:17 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/pdopdo_dbh.c Log: Fixed error message typo http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_dbh.c?r1=1.82.2.31.2.17.2.17&r2=1.82.2.31.2.17.2.18&diff_format=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.17 php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.18 --- php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.17 Thu Nov 27 19:01:22 2008 +++ php-src/ext/pdo/pdo_dbh.c Wed Dec 3 00:10:17 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.82.2.31.2.17.2.17 2008/11/27 19:01:22 dmitry Exp $ */ +/* $Id: pdo_dbh.c,v 1.82.2.31.2.17.2.18 2008/12/03 00:10:17 mattwil Exp $ */ /* The PDO Database Handle Class */ @@ -923,7 +923,7 @@ } if (!statement_len) { - pdo_raise_impl_error(dbh, NULL, "HY000", "trying to execute and empty query" TSRMLS_CC); + pdo_raise_impl_error(dbh, NULL, "HY000", "trying to execute an empty query" TSRMLS_CC); RETURN_FALSE; } PDO_DBH_CLEAR_ERR(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/pdo pdo_dbh.c
mattwil Wed Dec 3 00:08:38 2008 UTC Modified files: /php-src/ext/pdopdo_dbh.c Log: MFB (1.82.2.31.2.17.2.10): "Added a warning message on pdo::exec() failure in the event of an empty query" http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_dbh.c?r1=1.157&r2=1.158&diff_format=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.157 php-src/ext/pdo/pdo_dbh.c:1.158 --- php-src/ext/pdo/pdo_dbh.c:1.157 Thu Nov 27 19:02:44 2008 +++ php-src/ext/pdo/pdo_dbh.c Wed Dec 3 00:08:37 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: pdo_dbh.c,v 1.157 2008/11/27 19:02:44 dmitry Exp $ */ +/* $Id: pdo_dbh.c,v 1.158 2008/12/03 00:08:37 mattwil Exp $ */ /* The PDO Database Handle Class */ @@ -930,6 +930,7 @@ } if (!statement_len) { + pdo_raise_impl_error(dbh, NULL, "HY000", "trying to execute an empty query" TSRMLS_CC); RETURN_FALSE; } PDO_DBH_CLEAR_ERR(); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/json JSON_parser.c
mattwil Tue Dec 2 14:50:37 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/json JSON_parser.c Log: MFH: Changed logic for LONG_MIN http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.13&r2=1.1.2.14&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.1.2.13 php-src/ext/json/JSON_parser.c:1.1.2.14 --- php-src/ext/json/JSON_parser.c:1.1.2.13 Wed Jul 30 13:55:27 2008 +++ php-src/ext/json/JSON_parser.c Tue Dec 2 14:50:37 2008 @@ -285,7 +285,7 @@ if (type == IS_LONG) { double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < -LONG_MAX) { + if (d > LONG_MAX || d < LONG_MIN) { ZVAL_DOUBLE(*z, d); } else { ZVAL_LONG(*z, (long)d); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/json JSON_parser.c
mattwil Tue Dec 2 14:50:22 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/json JSON_parser.c Log: MFH: Changed logic for LONG_MIN http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.12.2.2&r2=1.1.2.12.2.3&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.1.2.12.2.2 php-src/ext/json/JSON_parser.c:1.1.2.12.2.3 --- php-src/ext/json/JSON_parser.c:1.1.2.12.2.2 Wed Jul 30 13:52:59 2008 +++ php-src/ext/json/JSON_parser.c Tue Dec 2 14:50:22 2008 @@ -285,7 +285,7 @@ if (type == IS_LONG) { double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < -LONG_MAX) { + if (d > LONG_MAX || d < LONG_MIN) { ZVAL_DOUBLE(*z, d); } else { ZVAL_LONG(*z, (long)d); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/json JSON_parser.c
mattwil Tue Dec 2 14:50:01 2008 UTC Modified files: /php-src/ext/json JSON_parser.c Log: Changed logic for LONG_MIN http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.18&r2=1.19&diff_format=u Index: php-src/ext/json/JSON_parser.c diff -u php-src/ext/json/JSON_parser.c:1.18 php-src/ext/json/JSON_parser.c:1.19 --- php-src/ext/json/JSON_parser.c:1.18 Wed Jul 30 13:57:47 2008 +++ php-src/ext/json/JSON_parser.c Tue Dec 2 14:50:01 2008 @@ -278,7 +278,7 @@ if (type == IS_LONG) { double d = zend_strtod(buf->c, NULL); - if (d > LONG_MAX || d < -LONG_MAX) { + if (d > LONG_MAX || d < LONG_MIN) { ZVAL_DOUBLE(*z, d); } else { ZVAL_LONG(*z, (long)d); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / php.ini-dist php.ini-recommended
mattwil Fri Nov 28 19:07:10 2008 UTC Modified files: (Branch: PHP_5_2) /php-srcphp.ini-dist php.ini-recommended Log: MFH: Updated description to match docs http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?r1=1.231.2.10.2.24&r2=1.231.2.10.2.25&diff_format=u Index: php-src/php.ini-dist diff -u php-src/php.ini-dist:1.231.2.10.2.24 php-src/php.ini-dist:1.231.2.10.2.25 --- php-src/php.ini-dist:1.231.2.10.2.24Thu Nov 13 19:06:59 2008 +++ php-src/php.ini-distFri Nov 28 19:07:09 2008 @@ -336,7 +336,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?r1=1.179.2.11.2.26&r2=1.179.2.11.2.27&diff_format=u Index: php-src/php.ini-recommended diff -u php-src/php.ini-recommended:1.179.2.11.2.26 php-src/php.ini-recommended:1.179.2.11.2.27 --- php-src/php.ini-recommended:1.179.2.11.2.26 Thu Nov 13 19:06:59 2008 +++ php-src/php.ini-recommended Fri Nov 28 19:07:09 2008 @@ -387,7 +387,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) / php.ini-dist php.ini-recommended
mattwil Fri Nov 28 19:06:10 2008 UTC Modified files: (Branch: PHP_5_3) /php-srcphp.ini-dist php.ini-recommended Log: MFH: Updated description to match docs http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?r1=1.231.2.10.2.22.2.11&r2=1.231.2.10.2.22.2.12&diff_format=u Index: php-src/php.ini-dist diff -u php-src/php.ini-dist:1.231.2.10.2.22.2.11 php-src/php.ini-dist:1.231.2.10.2.22.2.12 --- php-src/php.ini-dist:1.231.2.10.2.22.2.11 Thu Nov 13 19:06:28 2008 +++ php-src/php.ini-distFri Nov 28 19:06:10 2008 @@ -347,7 +347,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?r1=1.179.2.11.2.23.2.12&r2=1.179.2.11.2.23.2.13&diff_format=u Index: php-src/php.ini-recommended diff -u php-src/php.ini-recommended:1.179.2.11.2.23.2.12 php-src/php.ini-recommended:1.179.2.11.2.23.2.13 --- php-src/php.ini-recommended:1.179.2.11.2.23.2.12Thu Nov 13 19:06:28 2008 +++ php-src/php.ini-recommended Fri Nov 28 19:06:10 2008 @@ -399,7 +399,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src / php.ini-dist php.ini-recommended
mattwil Fri Nov 28 19:05:43 2008 UTC Modified files: /php-srcphp.ini-dist php.ini-recommended Log: Updated description to match docs http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?r1=1.281&r2=1.282&diff_format=u Index: php-src/php.ini-dist diff -u php-src/php.ini-dist:1.281 php-src/php.ini-dist:1.282 --- php-src/php.ini-dist:1.281 Thu Nov 13 19:05:36 2008 +++ php-src/php.ini-distFri Nov 28 19:05:42 2008 @@ -297,7 +297,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?r1=1.231&r2=1.232&diff_format=u Index: php-src/php.ini-recommended diff -u php-src/php.ini-recommended:1.231 php-src/php.ini-recommended:1.232 --- php-src/php.ini-recommended:1.231 Thu Nov 13 19:05:36 2008 +++ php-src/php.ini-recommended Fri Nov 28 19:05:42 2008 @@ -336,7 +336,7 @@ log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. +; line unless ignore_repeated_source is set true. ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
mattwil Fri Aug 29 11:12:34 2008 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS Log: - Be more specific about when constant substitution occurs - And should that be "values" or "value"? Hmm, feel free to improve wording http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.290&r2=1.2027.2.547.2.965.2.291&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.290 php-src/NEWS:1.2027.2.547.2.965.2.291 --- php-src/NEWS:1.2027.2.547.2.965.2.290 Thu Aug 28 06:22:49 2008 +++ php-src/NEWSFri Aug 29 11:12:34 2008 @@ -105,7 +105,8 @@ . Added ability to handle exceptions in destructors. (Marcus) - Improved PHP runtime speed and memory usage: - . Substitute persistent constants by their values at compile time. (Matt) + . Substitute global-scope, persistent constants with their values at compile +time. (Matt) . Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt) . Removed direct executor recursion. (Dmitry) . Use fastcall calling convention in executor on x86. (Dmitry) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /win32/build config.w32
mattwil Mon Jul 14 10:15:31 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/win32/buildconfig.w32 Log: MFH: Prevent build failure after closures http://cvs.php.net/viewvc.cgi/php-src/win32/build/config.w32?r1=1.40.2.8.2.10.2.26&r2=1.40.2.8.2.10.2.27&diff_format=u Index: php-src/win32/build/config.w32 diff -u php-src/win32/build/config.w32:1.40.2.8.2.10.2.26 php-src/win32/build/config.w32:1.40.2.8.2.10.2.27 --- php-src/win32/build/config.w32:1.40.2.8.2.10.2.26 Sun Jul 13 09:34:08 2008 +++ php-src/win32/build/config.w32 Mon Jul 14 10:15:31 2008 @@ -1,5 +1,5 @@ // vim:ft=javascript -// $Id: config.w32,v 1.40.2.8.2.10.2.26 2008/07/13 09:34:08 pajoye Exp $ +// $Id: config.w32,v 1.40.2.8.2.10.2.27 2008/07/14 10:15:31 mattwil Exp $ // "Master" config file; think of it as a configure.in // equivalent. @@ -307,7 +307,7 @@ zend_sprintf.c zend_ini.c zend_qsort.c zend_multibyte.c zend_ts_hash.c \ zend_stream.c zend_iterators.c zend_interfaces.c zend_objects.c \ zend_object_handlers.c zend_objects_API.c \ - zend_default_classes.c zend_execute.c zend_strtod.c zend_gc.c"); + zend_default_classes.c zend_execute.c zend_strtod.c zend_gc.c zend_closures.c"); ADD_SOURCES("main", "main.c snprintf.c spprintf.c safe_mode.c getopt.c fopen_wrappers.c \ php_scandir.c php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard array.c
mattwil Mon Jun 2 11:20:59 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard array.c Log: MFH: Initialize with length instead of 0 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.37.2.33&r2=1.308.2.21.2.37.2.34&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.308.2.21.2.37.2.33 php-src/ext/standard/array.c:1.308.2.21.2.37.2.34 --- php-src/ext/standard/array.c:1.308.2.21.2.37.2.33 Mon Jun 2 10:27:55 2008 +++ php-src/ext/standard/array.cMon Jun 2 11:20:59 2008 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: array.c,v 1.308.2.21.2.37.2.33 2008/06/02 10:27:55 tony2001 Exp $ */ +/* $Id: array.c,v 1.308.2.21.2.37.2.34 2008/06/02 11:20:59 mattwil Exp $ */ #include "php.h" #include "php_ini.h" @@ -2111,7 +2111,7 @@ /* Don't create the array of removed elements if it's not going * to be used; e.g. only removing and/or replacing elements */ if (return_value_used) { - int size = 0; + int size = length; /* Clamp the offset.. */ if (offset > num_in) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard array.c
mattwil Mon Jun 2 11:20:17 2008 UTC Modified files: /php-src/ext/standard array.c Log: Initialize with length instead of 0 (and thanks Antony for finding) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.453&r2=1.454&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.453 php-src/ext/standard/array.c:1.454 --- php-src/ext/standard/array.c:1.453 Mon Jun 2 10:27:42 2008 +++ php-src/ext/standard/array.cMon Jun 2 11:20:17 2008 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: array.c,v 1.453 2008/06/02 10:27:42 tony2001 Exp $ */ +/* $Id: array.c,v 1.454 2008/06/02 11:20:17 mattwil Exp $ */ #include "php.h" #include "php_ini.h" @@ -2298,7 +2298,7 @@ /* Don't create the array of removed elements if it's not going * to be used; e.g. only removing and/or replacing elements */ if (return_value_used) { - int size = 0; + int size = length; /* Clamp the offset.. */ if (offset > num_in) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /sapi/apache2handler config.w32
mattwil Sun Jun 1 14:01:07 2008 UTC Modified files: /php-src/sapi/apache2handlerconfig.w32 Log: Fixed build http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2handler/config.w32?r1=1.5&r2=1.6&diff_format=u Index: php-src/sapi/apache2handler/config.w32 diff -u php-src/sapi/apache2handler/config.w32:1.5 php-src/sapi/apache2handler/config.w32:1.6 --- php-src/sapi/apache2handler/config.w32:1.5 Wed May 14 03:32:27 2008 +++ php-src/sapi/apache2handler/config.w32 Sun Jun 1 14:01:07 2008 @@ -1,5 +1,5 @@ // vim:ft=javascript -// $Id: config.w32,v 1.5 2008/05/14 03:32:27 auroraeosrose Exp $ +// $Id: config.w32,v 1.6 2008/06/01 14:01:07 mattwil Exp $ ARG_ENABLE('apache2handler', 'Build Apache 2.x handler', 'no'); @@ -11,7 +11,7 @@ CHECK_LIB("libapr.lib", "apache2handler", PHP_PHP_BUILD + "\\lib\\apache2") && CHECK_LIB("libaprutil.lib", "apache2handler", PHP_PHP_BUILD + "\\lib\\apache2") ) { - SAPI('apache2handler', 'mod_php5.c sapi_apache2.c apache_config.c php_functions.c', + SAPI('apache2handler', 'mod_php.c sapi_apache2.c apache_config.c php_functions.c', 'php' + PHP_VERSION + 'apache2.dll', '/D PHP_APACHE2_EXPORTS /I win32'); } else { @@ -29,7 +29,7 @@ CHECK_LIB("libapr-1.lib", "apache2_2handler", PHP_PHP_BUILD + "\\lib\\apache2_2") && CHECK_LIB("libaprutil-1.lib", "apache2_2handler", PHP_PHP_BUILD + "\\lib\\apache2_2") ) { - SAPI('apache2_2handler', 'mod_php5.c sapi_apache2.c apache_config.c php_functions.c', + SAPI('apache2_2handler', 'mod_php.c sapi_apache2.c apache_config.c php_functions.c', 'php' + PHP_VERSION + 'apache2_2.dll', '/D PHP_APACHE2_EXPORTS /I win32', 'sapi\\apache2_2handler'); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard array.c
mattwil Fri May 30 10:55:44 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard array.c Log: MFH: Only check args once in php_array_diff_key/intersect_key, not on each iteration. This also makes sure ALL args are checked (pre-5.2.5 behavior) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.56&r2=1.308.2.21.2.57&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.308.2.21.2.56 php-src/ext/standard/array.c:1.308.2.21.2.57 --- php-src/ext/standard/array.c:1.308.2.21.2.56Sun May 18 21:50:58 2008 +++ php-src/ext/standard/array.cFri May 30 10:55:44 2008 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: array.c,v 1.308.2.21.2.56 2008/05/18 21:50:58 felipe Exp $ */ +/* $Id: array.c,v 1.308.2.21.2.57 2008/05/30 10:55:44 mattwil Exp $ */ #include "php.h" #include "php_ini.h" @@ -2992,10 +2992,12 @@ intersect_data_compare_func = zval_compare; } - if (Z_TYPE_PP(args[0]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array"); - RETVAL_NULL(); - goto out; + for (i = 0; i < argc; i++) { + if (Z_TYPE_PP(args[i]) != IS_ARRAY) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); + RETVAL_NULL(); + goto out; + } } array_init(return_value); @@ -3004,12 +3006,7 @@ if (p->nKeyLength == 0) { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || + if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0)) { ok = 0; @@ -3023,12 +3020,7 @@ } else { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_quick_find(Z_ARRVAL_PP(args[i]), p->arKey, p->nKeyLength, p->h, (void**)&data) == FAILURE || + if (zend_hash_quick_find(Z_ARRVAL_PP(args[i]), p->arKey, p->nKeyLength, p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0)) { ok = 0; @@ -3470,10 +3462,12 @@ diff_data_compare_func = zval_compare; } - if (Z_TYPE_PP(args[0]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array"); - RETVAL_NULL(); - goto out; + for (i = 0; i < argc; i++) { + if (Z_TYPE_PP(args[i]) != IS_ARRAY) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); + RETVAL_NULL(); + goto out; + } } array_init(return_value); @@ -3482,12 +3476,7 @@ if (p->nKeyLength == 0) { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == SUCCESS && + if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == SUCCESS &&
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard array.c
mattwil Fri May 30 10:55:15 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard array.c Log: MFH: Only check args once in php_array_diff_key/intersect_key, not on each iteration. This also makes sure ALL args are checked (pre-5.2.5 behavior) - Also, use new hash_quick_del function where possible http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.37.2.31&r2=1.308.2.21.2.37.2.32&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.308.2.21.2.37.2.31 php-src/ext/standard/array.c:1.308.2.21.2.37.2.32 --- php-src/ext/standard/array.c:1.308.2.21.2.37.2.31 Tue May 27 10:29:33 2008 +++ php-src/ext/standard/array.cFri May 30 10:55:14 2008 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: array.c,v 1.308.2.21.2.37.2.31 2008/05/27 10:29:33 mattwil Exp $ */ +/* $Id: array.c,v 1.308.2.21.2.37.2.32 2008/05/30 10:55:14 mattwil Exp $ */ #include "php.h" #include "php_ini.h" @@ -2754,7 +2754,7 @@ if (Z_ARRVAL_P(return_value) == &EG(symbol_table)) { zend_delete_global_variable(p->arKey, p->nKeyLength - 1 TSRMLS_CC); } else { - zend_hash_del(Z_ARRVAL_P(return_value), p->arKey, p->nKeyLength); + zend_hash_quick_del(Z_ARRVAL_P(return_value), p->arKey, p->nKeyLength, p->h); } } } @@ -2851,10 +2851,12 @@ } } - if (Z_TYPE_PP(args[0]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array"); - RETVAL_NULL(); - goto out; + for (i = 0; i < argc; i++) { + if (Z_TYPE_PP(args[i]) != IS_ARRAY) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); + RETVAL_NULL(); + goto out; + } } array_init(return_value); @@ -2863,12 +2865,7 @@ if (p->nKeyLength == 0) { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || + if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0) ) { @@ -2883,12 +2880,7 @@ } else { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_quick_find(Z_ARRVAL_PP(args[i]), p->arKey, p->nKeyLength, p->h, (void**)&data) == FAILURE || + if (zend_hash_quick_find(Z_ARRVAL_PP(args[i]), p->arKey, p->nKeyLength, p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0) ) { @@ -3118,7 +3110,7 @@ if (p->nKeyLength == 0) { zend_hash_index_del(Z_ARRVAL_P(return_value), p->h); } else { - zend_hash_del(Z_ARRVAL_P(return_value), p->arKey, p->nKeyLength); + zend_hash_quick_del(Z_ARRVAL_P(return_value), p->arKey, p->nKeyLength, p->h); } } } @@ -3134,7 +3126,7 @@ if (p->nKeyLength == 0) { zend_hash_index_del(Z_ARRVAL_P(return_value), p->h); } else { -
[PHP-CVS] cvs: php-src /ext/standard array.c
mattwil Fri May 30 10:54:17 2008 UTC Modified files: /php-src/ext/standard array.c Log: Only check args once in php_array_diff_key/intersect_key, not on each iteration. This also makes sure ALL args are checked (pre-5.2.5 behavior) - Also, use new hash_quick_del function where possible http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.451&r2=1.452&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.451 php-src/ext/standard/array.c:1.452 --- php-src/ext/standard/array.c:1.451 Tue May 27 10:28:25 2008 +++ php-src/ext/standard/array.cFri May 30 10:54:16 2008 @@ -21,7 +21,7 @@ +--+ */ -/* $Id: array.c,v 1.451 2008/05/27 10:28:25 mattwil Exp $ */ +/* $Id: array.c,v 1.452 2008/05/30 10:54:16 mattwil Exp $ */ #include "php.h" #include "php_ini.h" @@ -2978,7 +2978,7 @@ if (Z_ARRVAL_P(return_value) == &EG(symbol_table)) { zend_u_delete_global_variable(p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength - 1 TSRMLS_CC); } else { - zend_u_hash_del(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength); + zend_u_hash_quick_del(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h); } } } @@ -3075,10 +3075,12 @@ } } - if (Z_TYPE_PP(args[0]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array"); - RETVAL_NULL(); - goto out; + for (i = 0; i < argc; i++) { + if (Z_TYPE_PP(args[i]) != IS_ARRAY) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); + RETVAL_NULL(); + goto out; + } } array_init(return_value); @@ -3087,12 +3089,7 @@ if (p->nKeyLength == 0) { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || + if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0) ) { @@ -3107,12 +3104,7 @@ } else { ok = 1; for (i = 1; i < argc; i++) { - if (Z_TYPE_PP(args[i]) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - zval_dtor(return_value); - RETVAL_NULL(); - goto out; - } else if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == FAILURE || + if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == FAILURE || (intersect_data_compare_func && intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0) ) { @@ -3342,7 +3334,7 @@ if (p->nKeyLength == 0) { zend_hash_index_del(Z_ARRVAL_P(return_value), p->h); } else { - zend_u_hash_del(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength); + zend_u_hash_quick_del(Z_ARRVAL_P(return_value), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h); } } } @@ -3358,7 +3350,7 @@ if (p->nKeyLength == 0) { zend_hash_index_del(Z_ARRVAL_P(return_value)
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard/tests/array bug43495.phpt ZendEngine2/tests bug41919.phpt
mattwil Thu May 29 07:33:03 2008 UTC Modified files: (Branch: PHP_5_2) /ZendEngine2/tests bug41919.phpt /php-src/ext/standard/tests/array bug43495.phpt Log: Fixed tests on Windows http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug41919.phpt?r1=1.1.2.4&r2=1.1.2.5&diff_format=u Index: ZendEngine2/tests/bug41919.phpt diff -u ZendEngine2/tests/bug41919.phpt:1.1.2.4 ZendEngine2/tests/bug41919.phpt:1.1.2.5 --- ZendEngine2/tests/bug41919.phpt:1.1.2.4 Thu Jan 24 08:51:04 2008 +++ ZendEngine2/tests/bug41919.phpt Thu May 29 07:33:03 2008 @@ -8,4 +8,4 @@ echo "ok\n"; ?> --EXPECTF-- -Fatal error: Cannot use string offset as an object in %s/bug41919.php on line %d +Fatal error: Cannot use string offset as an object in %sbug41919.php on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug43495.phpt?r1=1.2.2.3&r2=1.2.2.4&diff_format=u Index: php-src/ext/standard/tests/array/bug43495.phpt diff -u php-src/ext/standard/tests/array/bug43495.phpt:1.2.2.3 php-src/ext/standard/tests/array/bug43495.phpt:1.2.2.4 --- php-src/ext/standard/tests/array/bug43495.phpt:1.2.2.3 Thu Dec 13 07:57:24 2007 +++ php-src/ext/standard/tests/array/bug43495.phpt Thu May 29 07:33:03 2008 @@ -17,5 +17,5 @@ echo "Done.\n"; ?> --EXPECTF-- -Warning: array_merge_recursive(): recursion detected in %s/bug43495.php on line %d +Warning: array_merge_recursive(): recursion detected in %sbug43495.php on line %d Done. -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/array bug43495.phpt ZendEngine2/tests bug41919.phpt
mattwil Thu May 29 07:32:03 2008 UTC Modified files: (Branch: PHP_5_3) /ZendEngine2/tests bug41919.phpt /php-src/ext/standard/tests/array bug43495.phpt Log: Fixed tests on Windows http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug41919.phpt?r1=1.1.2.3.2.2&r2=1.1.2.3.2.3&diff_format=u Index: ZendEngine2/tests/bug41919.phpt diff -u ZendEngine2/tests/bug41919.phpt:1.1.2.3.2.2 ZendEngine2/tests/bug41919.phpt:1.1.2.3.2.3 --- ZendEngine2/tests/bug41919.phpt:1.1.2.3.2.2 Thu Jan 24 08:51:38 2008 +++ ZendEngine2/tests/bug41919.phpt Thu May 29 07:32:03 2008 @@ -8,4 +8,4 @@ echo "ok\n"; ?> --EXPECTF-- -Fatal error: Cannot use string offset as an object in %s/bug41919.php on line %d +Fatal error: Cannot use string offset as an object in %sbug41919.php on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug43495.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/array/bug43495.phpt diff -u php-src/ext/standard/tests/array/bug43495.phpt:1.1.2.2 php-src/ext/standard/tests/array/bug43495.phpt:1.1.2.3 --- php-src/ext/standard/tests/array/bug43495.phpt:1.1.2.2 Thu Dec 13 07:57:39 2007 +++ php-src/ext/standard/tests/array/bug43495.phpt Thu May 29 07:32:03 2008 @@ -17,5 +17,5 @@ echo "Done.\n"; ?> --EXPECTF-- -Warning: array_merge_recursive(): recursion detected in %s/bug43495.php on line %d +Warning: array_merge_recursive(): recursion detected in %sbug43495.php on line %d Done. -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard dns.c
mattwil Fri May 23 09:40:44 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard dns.c Log: MFH: Fixed Windows build now that HAVE_INET_PTON is defined http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.70.2.7.2.5.2.5&r2=1.70.2.7.2.5.2.6&diff_format=u Index: php-src/ext/standard/dns.c diff -u php-src/ext/standard/dns.c:1.70.2.7.2.5.2.5 php-src/ext/standard/dns.c:1.70.2.7.2.5.2.6 --- php-src/ext/standard/dns.c:1.70.2.7.2.5.2.5 Mon Apr 14 16:50:11 2008 +++ php-src/ext/standard/dns.c Fri May 23 09:40:44 2008 @@ -18,10 +18,11 @@ +--+ */ -/* $Id: dns.c,v 1.70.2.7.2.5.2.5 2008/04/14 16:50:11 colder Exp $ */ +/* $Id: dns.c,v 1.70.2.7.2.5.2.6 2008/05/23 09:40:44 mattwil Exp $ */ /* {{{ includes */ #include "php.h" +#include "php_network.h" #if HAVE_SYS_SOCKET_H #include -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard dns.c
mattwil Fri May 23 09:40:19 2008 UTC Modified files: /php-src/ext/standard dns.c Log: Fixed Windows build now that HAVE_INET_PTON is defined http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dns.c?r1=1.92&r2=1.93&diff_format=u Index: php-src/ext/standard/dns.c diff -u php-src/ext/standard/dns.c:1.92 php-src/ext/standard/dns.c:1.93 --- php-src/ext/standard/dns.c:1.92 Mon Apr 14 16:49:30 2008 +++ php-src/ext/standard/dns.c Fri May 23 09:40:19 2008 @@ -18,10 +18,11 @@ +--+ */ -/* $Id: dns.c,v 1.92 2008/04/14 16:49:30 colder Exp $ */ +/* $Id: dns.c,v 1.93 2008/05/23 09:40:19 mattwil Exp $ */ /* {{{ includes */ #include "php.h" +#include "php_network.h" #if HAVE_SYS_SOCKET_H #include -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /win32/build buildconf.js
mattwil Wed May 14 11:32:28 2008 UTC Modified files: /php-src/win32/buildbuildconf.js Log: MFB: The "Steph special" :-) to allow plain 'configure' to be used http://cvs.php.net/viewvc.cgi/php-src/win32/build/buildconf.js?r1=1.16&r2=1.17&diff_format=u Index: php-src/win32/build/buildconf.js diff -u php-src/win32/build/buildconf.js:1.16 php-src/win32/build/buildconf.js:1.17 --- php-src/win32/build/buildconf.js:1.16 Mon Jan 29 04:40:46 2007 +++ php-src/win32/build/buildconf.jsWed May 14 11:32:28 2008 @@ -16,12 +16,13 @@ +--+ */ -/* $Id: buildconf.js,v 1.16 2007/01/29 04:40:46 iliaa Exp $ */ +/* $Id: buildconf.js,v 1.17 2008/05/14 11:32:28 mattwil Exp $ */ // This generates a configure script for win32 build WScript.StdOut.WriteLine("Rebuilding configure.js"); var FSO = WScript.CreateObject("Scripting.FileSystemObject"); var C = FSO.CreateTextFile("configure.js", true); +var B = FSO.CreateTextFile("configure.bat", true); var modules = ""; var MODULES = WScript.CreateObject("Scripting.Dictionary"); @@ -259,5 +260,6 @@ C.WriteBlankLines(1); C.Write(file_get_contents("win32/build/configure.tail")); -WScript.StdOut.WriteLine("Now run 'cscript /nologo configure.js --help'"); - +B.WriteLine("@echo off"); +B.WriteLine("cscript /nologo configure.js %*"); +WScript.StdOut.WriteLine("Now run 'configure --help'"); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /win32/build template.rc
mattwil Wed May 14 11:18:08 2008 UTC Modified files: /php-src/win32/buildtemplate.rc Log: MFB: Steph's changes; to fix build failure after confutils.js changes (PRODUCT_NAME being undefined) http://cvs.php.net/viewvc.cgi/php-src/win32/build/template.rc?r1=1.10&r2=1.11&diff_format=u Index: php-src/win32/build/template.rc diff -u php-src/win32/build/template.rc:1.10 php-src/win32/build/template.rc:1.11 --- php-src/win32/build/template.rc:1.10Mon Jan 29 04:40:46 2007 +++ php-src/win32/build/template.rc Wed May 14 11:18:08 2008 @@ -1,5 +1,5 @@ /* This is a template RC file. - * $Id: template.rc,v 1.10 2007/01/29 04:40:46 iliaa Exp $ + * $Id: template.rc,v 1.11 2008/05/14 11:18:08 mattwil Exp $ * Do not edit with MSVC */ #ifdef APSTUDIO_INVOKED # error dont edit with MSVC @@ -19,18 +19,32 @@ 0 ICON win32\build\php.ico #endif -#define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build -#define XSTRVER3(maj, min, rel) #maj "." #min "." #rel -#define STRVER4(maj, min, rel, build) XSTRVER4(maj, min, rel, build) -#define STRVER3(maj, min, rel) XSTRVER3(maj, min, rel) +#ifndef INTERNAL_NAME /* e.g. 'PHAR extension', 'CGI SAPI' */ +# ifdef FILE_DESCRIPTION +#define INTERNAL_NAME FILE_DESCRIPTION /* e.g. 'PHP Script Interpreter', 'GD imaging' */ +# else +#define INTERNAL_NAME FILE_NAME /* e.g. 'php5ts.dll', 'php_bz2.dll' */ +# endif +#endif + +#ifndef URL +#define URL "http://www.php.net"; +#endif + +#ifndef EXT_VERSION +#define EXT_VERSION PHP_VERSION +#endif + +#ifndef EXT_FILE_VERSION +#define EXT_FILE_VERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION +#endif -//Version VS_VERSION_INFO VERSIONINFO - FILEVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_RELEASE_VERSION - PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,0 + FILEVERSION EXT_FILE_VERSION + PRODUCTVERSION PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION FILEFLAGSMASK 0x3fL #ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG + FILEFLAGS (VS_FF_DEBUG|VS_FF_SPECIALBUILD) #else FILEFLAGS 0x0L #endif @@ -42,19 +56,24 @@ BEGIN BLOCK "040904b0" BEGIN -VALUE "Comments", THANKS_GUYS "\0" -VALUE "CompanyName", "The PHP Group\0" -VALUE "FileDescription", FILE_DESCRIPTION "\0" -VALUE "FileVersion", STRVER4(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_RELEASE_VERSION) -VALUE "InternalName", FILE_NAME "\0" -VALUE "LegalCopyright", "Copyright © 1997-2007 The PHP Group\0" -VALUE "LegalTrademarks", "PHP\0" -VALUE "OriginalFilename", FILE_NAME "\0" -VALUE "PrivateBuild", "\0" -VALUE "ProductName", PRODUCT_NAME "\0" -VALUE "ProductVersion", STRVER3(PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION) -VALUE "SpecialBuild", PHP_EXTRA_VERSION "\0" - VALUE "URL", "http://www.php.net"; +VALUE "Comments", THANKS_GUYS +VALUE "CompanyName", "The PHP Group" +#ifdef _DEBUG +VALUE "FileDescription", FILE_DESCRIPTION " (DEBUG)" +#else +VALUE "FileDescription", FILE_DESCRIPTION +#endif +VALUE "FileVersion", EXT_VERSION +VALUE "InternalName", INTERNAL_NAME +VALUE "LegalCopyright", "Copyright © 1997-2008 The PHP Group" +VALUE "LegalTrademarks", "PHP" +VALUE "OriginalFilename", FILE_NAME +VALUE "ProductName", "PHP" +VALUE "ProductVersion", PHP_VERSION +#ifdef _DEBUG +VALUE "SpecialBuild", "Debug build" +#endif +VALUE "URL", URL END END BLOCK "VarFileInfo" @@ -66,4 +85,3 @@ #ifdef MC_INCLUDE #include MC_INCLUDE #endif - -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard/tests/strings stripslashes_variation2.phpt
mattwil Mon May 12 05:09:28 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard/tests/strings stripslashes_variation2.phpt Log: MFH: Fixed test after fixing bug #44830 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation2.phpt?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/standard/tests/strings/stripslashes_variation2.phpt diff -u php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.1 php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.2 --- php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.1 Fri Sep 7 13:51:26 2007 +++ php-src/ext/standard/tests/strings/stripslashes_variation2.phpt Mon May 12 05:09:28 2008 @@ -229,9 +229,9 @@ -- Iteration 21 -- string(31) "The string after addslashes is:" -string(2) "\0" +string(2) "\\" string(33) "The string after stripslashes is:" -string(1) "+string(1) "\" -- Iteration 22 -- string(31) "The string after addslashes is:" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/strings stripslashes_variation2.phpt
mattwil Mon May 12 05:08:49 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard/tests/strings stripslashes_variation2.phpt Log: MFH: Fixed test after fixing bug #44830 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation2.phpt?r1=1.1.2.1&r2=1.1.2.1.2.1&diff_format=u Index: php-src/ext/standard/tests/strings/stripslashes_variation2.phpt diff -u php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.1 php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.1.2.1 --- php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.1.2.1 Fri Sep 7 13:51:26 2007 +++ php-src/ext/standard/tests/strings/stripslashes_variation2.phpt Mon May 12 05:08:49 2008 @@ -229,9 +229,9 @@ -- Iteration 21 -- string(31) "The string after addslashes is:" -string(2) "\0" +string(2) "\\" string(33) "The string after stripslashes is:" -string(1) "+string(1) "\" -- Iteration 22 -- string(31) "The string after addslashes is:" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard/tests/strings stripslashes_variation2.phpt
mattwil Mon May 12 05:06:53 2008 UTC Modified files: /php-src/ext/standard/tests/strings stripslashes_variation2.phpt Log: Fixed test after fixing bug #44830 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation2.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/strings/stripslashes_variation2.phpt diff -u php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.2 php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.3 --- php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.2 Fri Sep 7 14:03:33 2007 +++ php-src/ext/standard/tests/strings/stripslashes_variation2.phpt Mon May 12 05:06:53 2008 @@ -229,9 +229,9 @@ -- Iteration 21 -- string(31) "The string after addslashes is:" -string(2) "\0" +string(2) "\\" string(33) "The string after stripslashes is:" -string(1) "+string(1) "\" -- Iteration 22 -- string(31) "The string after addslashes is:" @@ -457,9 +457,9 @@ -- Iteration 21 -- unicode(31) "The string after addslashes is:" -unicode(2) "\0" +unicode(2) "\\" unicode(33) "The string after stripslashes is:" -unicode(1) "+unicode(1) "\" -- Iteration 22 -- unicode(31) "The string after addslashes is:" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard math.c
Thank you Hannes. :-) - Matt - Original Message - From: "Hannes Magnusson" Sent: Thursday, May 08, 2008 > Congrats on your first commit \o/ > Looking forward to a bunch more :) > > -Hannes > > > On Thu, May 8, 2008 at 6:23 AM, Matt Wilmas <[EMAIL PROTECTED]> wrote: > > mattwil Thu May 8 04:23:26 2008 UTC > > > > Modified files: (Branch: PHP_5_3) > > /php-src/ext/standard math.c > > Log: > > Fix build > > > > http://cvs.php.net/viewvc.cgi/php-src/ext/standard/math.c?r1=1.131.2.2.2.6.2.7&r2=1.131.2.2.2.6.2.8&diff_format=u > > Index: php-src/ext/standard/math.c > > diff -u php-src/ext/standard/math.c:1.131.2.2.2.6.2.7 php-src/ext/standard/math.c:1.131.2.2.2.6.2.8 > > --- php-src/ext/standard/math.c:1.131.2.2.2.6.2.7 Tue May 6 10:55:49 2008 > > +++ php-src/ext/standard/math.c Thu May 8 04:23:26 2008 > > @@ -19,7 +19,7 @@ > > +--+ > > */ > > > > -/* $Id: math.c,v 1.131.2.2.2.6.2.7 2008/05/06 10:55:49 kalle Exp $ */ > > +/* $Id: math.c,v 1.131.2.2.2.6.2.8 2008/05/08 04:23:26 mattwil Exp $ */ > > > > #include "php.h" > > #include "php_math.h" > > @@ -354,7 +354,7 @@ > > if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &num) == FAILURE) { > > return; > > } > > - RETURN_DOUBLE(asinh(num)); > > + RETURN_DOUBLE(php_asinh(num)); > > } > > /* }}} */ > > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /win32/build Makefile
mattwil Thu May 8 04:52:30 2008 UTC Modified files: /php-src/win32/buildMakefile Log: Remove old references to flex.skl http://cvs.php.net/viewvc.cgi/php-src/win32/build/Makefile?r1=1.45&r2=1.46&diff_format=u Index: php-src/win32/build/Makefile diff -u php-src/win32/build/Makefile:1.45 php-src/win32/build/Makefile:1.46 --- php-src/win32/build/Makefile:1.45 Wed Mar 26 14:46:17 2008 +++ php-src/win32/build/MakefileThu May 8 04:52:30 2008 @@ -14,7 +14,7 @@ # | Author: Wez Furlong <[EMAIL PROTECTED]> | # +--+ # -# $Id: Makefile,v 1.45 2008/03/26 14:46:17 scottmac Exp $ +# $Id: Makefile,v 1.46 2008/05/08 04:52:30 mattwil Exp $ # This is the makefile template for the win32 build CC="$(CL)" @@ -50,10 +50,10 @@ $(BISON) --output=Zend/zend_language_parser.c -v -d -p zend Zend/zend_language_parser.y !if $(RE2C) != "" -Zend\zend_ini_scanner.c: Zend\flex.skl Zend\zend_ini_scanner.l +Zend\zend_ini_scanner.c: Zend\zend_ini_scanner.l $(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l -Zend\zend_language_scanner.c: Zend\flex.skl Zend\zend_language_scanner.l +Zend\zend_language_scanner.c: Zend\zend_language_scanner.l $(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l !endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard math.c
mattwil Thu May 8 04:23:26 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard math.c Log: Fix build http://cvs.php.net/viewvc.cgi/php-src/ext/standard/math.c?r1=1.131.2.2.2.6.2.7&r2=1.131.2.2.2.6.2.8&diff_format=u Index: php-src/ext/standard/math.c diff -u php-src/ext/standard/math.c:1.131.2.2.2.6.2.7 php-src/ext/standard/math.c:1.131.2.2.2.6.2.8 --- php-src/ext/standard/math.c:1.131.2.2.2.6.2.7 Tue May 6 10:55:49 2008 +++ php-src/ext/standard/math.c Thu May 8 04:23:26 2008 @@ -19,7 +19,7 @@ +--+ */ -/* $Id: math.c,v 1.131.2.2.2.6.2.7 2008/05/06 10:55:49 kalle Exp $ */ +/* $Id: math.c,v 1.131.2.2.2.6.2.8 2008/05/08 04:23:26 mattwil Exp $ */ #include "php.h" #include "php_math.h" @@ -354,7 +354,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &num) == FAILURE) { return; } - RETURN_DOUBLE(asinh(num)); + RETURN_DOUBLE(php_asinh(num)); } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/wddx wddx.c /ext/wddx/tests bug41527.phpt
Hi Ilia, Could you, or anyone, just put "Matt" instead of the e-mail addy in the NEWS files? :-) Thanks, Matt - Original Message - From: "Ilia Alshanetsky" Sent: Monday, June 11, 2007 > iliaa Mon Jun 11 15:08:43 2007 UTC > > Added files: (Branch: PHP_5_2) > /php-src/ext/wddx/tests bug41527.phpt > > Modified files: > /php-src NEWS > /php-src/ext/wddx wddx.c > Log: > > Fixed bug #41527 (WDDX deserialize numeric string array key). > > http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.773&r2=1.2027.2.547.2.774&diff_format=u [...] > +- Fixed bug #41527 (WDDX deserialize numeric string array key). (php_lists > + at realplain dot com, Ilia) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/wddx wddx.c /ext/wddx/tests bug41283.phpt
Hi Ilia, all, I've attached patches for what I think is a better fix here, and it simplifies the code. Looking at the CVS log, the is_numeric_string() usage was added in version 1.120 to fix the first numeric key bug. The simple, better thing would've been to just change zend_hash... to zend_symtable..., as I've done now. Ilia, this is basically the same fix as Bug #38464 for array_count_values(). Again, the "symtable" function will handle numeric string keys as elsewhere in PHP. The only thing that changes from the current code is that strings with leading whitespace, + sign, or 0s won't be considered numeric again (e.g. back to behavior before the "symtable" functions were created), which should be correct if you don't want more future bug reports. ;-) Matt - Original Message - From: "Ilia Alshanetsky" Sent: Saturday, May 05, 2007 > iliaa Sat May 5 15:14:56 2007 UTC > > Added files: (Branch: PHP_5_2) > /php-src/ext/wddx/tests bug41283.phpt > > Modified files: > /php-src NEWS > /php-src/ext/wddx wddx.c > Log: > > Fixed bug #41283 (Bug with serializing array key that are doubles or > floats). > > http://cvs.php.net/viewvc.cgi/php-src/ext/wddx/wddx.c?r1=1.119.2.10.2.15&r2=1.119.2.10.2.16&diff_format=u > Index: php-src/ext/wddx/wddx.c > diff -u php-src/ext/wddx/wddx.c:1.119.2.10.2.15 php-src/ext/wddx/wddx.c:1.119.2.10.2.16 > --- php-src/ext/wddx/wddx.c:1.119.2.10.2.15 Sun Mar 4 04:38:43 2007 > +++ php-src/ext/wddx/wddx.c Sat May 5 15:14:56 2007 > @@ -16,7 +16,7 @@ > +--+ > */ > > -/* $Id: wddx.c,v 1.119.2.10.2.15 2007/03/04 04:38:43 stas Exp $ */ > +/* $Id: wddx.c,v 1.119.2.10.2.16 2007/05/05 15:14:56 iliaa Exp $ */ > > #ifdef HAVE_CONFIG_H > #include "config.h" > @@ -984,6 +984,9 @@ > goto bigint; > } > l = (long) d; > + if (l != d) { > + goto bigint; > + } > case IS_LONG: > zend_hash_index_update(target_hash, l, &ent1->data, sizeof(zval *), NULL); > break; > Index: ext/wddx/wddx.c === RCS file: /repository/php-src/ext/wddx/wddx.c,v retrieving revision 1.144 diff -u -r1.144 wddx.c --- ext/wddx/wddx.c 24 Feb 2007 16:25:55 - 1.144 +++ ext/wddx/wddx.c 8 May 2007 09:07:59 - @@ -975,22 +975,7 @@ add_property_zval(ent2->data, ent1->varname, ent1->data); EG(scope) = old_scope; } else { - long l; - double d; - - switch (is_numeric_string(ent1->varname, strlen(ent1->varname), &l, &d, 0)) { - case IS_DOUBLE: - if (d > INT_MAX) { - goto bigint; - } - l = (long) d; - case IS_LONG: - zend_hash_index_update(target_hash, l, &ent1->data, sizeof(zval *), NULL); - break; - default: -bigint: - zend_hash_update(target_hash,ent1->varname, strlen(ent1->varname)+1, &ent1->data, sizeof(zval *), NULL); - } + zend_symtable_update(target_hash, ent1->varname, strlen(ent1->varname)+1, &ent1->data, sizeof(zval *), NULL); } efree(ent1->varname); } else { Index: ext/wddx/wddx.c === RCS file: /repository/php-src/ext/wddx/wddx.c,v retrieving revision 1.119.2.10.2.16 diff -u -r1.119.2.10.2.16 wddx.c --- ext/wddx/wddx.c 5 May 2007 15:14:56 - 1.119.2.10.2.16 +++ ext/wddx/wddx.c 8 May 2007 09:08:34 - @@ -974,26 +974,7 @@ add_property_zval(ent2->data, ent1->varname, ent1->data); EG(scope) = old_scope; } else { - long l; - double d; - int varname_len = strlen(ent1->varname); - - switch (
Re: [PHP-CVS] cvs: php-src /ext/standard formatted_print.c
Hi Ilia, - Original Message - From: "Ilia Alshanetsky" Sent: Saturday, January 13, 2007 > iliaa Sat Jan 13 16:32:29 2007 UTC > > Modified files: > /php-src/ext/standard formatted_print.c > Log: > > MFB: Improve validation of argnum, width and precision. > [...] > - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Zero is not a valid argument > number"); > + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument number must be > greater then zero."); > return NULL; > } > > + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Width must be greater then > zero and less then %d.", INT_MAX); > + return NULL; > + } > > + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Precision must be greater then > zero and less then %d.", INT_MAX); > + return NULL; > + } > Just a grammar nit-pick, but in those new error messages, "then" should be "than." :-) Also, just noticed the period at the end of the messages, which the vast majority of messages elsewhere don't have, so seems like they should be removed. (I sent a patch a few months ago to remove trailing periods in the few errors that had one, and Hannes just applied it to HEAD; although a few others were added back since then...) IMO, those periods make the full generated warning line look weird, which was also mentioned in Bug #39112. If you want/need patches to save time, let me know... Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src / php.ini-dist php.ini-recommended /main main.c
Hi Dmitry, > -memory_limit = 16M ; Maximum amount of memory a script may consume > (16MB) > +memory_limit = 128M ; Maximum amount of memory a script may consume > (16MB) It still says 16MB in parentheses. :-) Matt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/soap php_sdl.c
Oops, forgot to attach the patches! - Original Message - From: "Matt Wilmas" Sent: Tuesday, December 19, 2006 > Hi Ilia, > > A little late, but I made a patch for HEAD since this wasn't applied there. > In the process, I noticed that "i" has the value of zend_hash_num_elements() > so the second call to it isn't needed. (Indentation was also off on those 2 > lines...) > > > Matt Index: ext/soap/php_sdl.c === RCS file: /repository/php-src/ext/soap/php_sdl.c,v retrieving revision 1.105 diff -u -r1.105 php_sdl.c --- ext/soap/php_sdl.c 20 Sep 2006 13:43:04 - 1.105 +++ ext/soap/php_sdl.c 20 Dec 2006 03:48:01 - @@ -1862,8 +1862,8 @@ if (i > 0) { sdlTypePtr *tmp; - tmp_elements = emalloc(sizeof(HashTable)); - zend_hash_init(tmp_elements, 0, NULL, NULL, 0); + tmp_elements = emalloc(sizeof(HashTable)); + zend_hash_init(tmp_elements, i, NULL, NULL, 0); zend_hash_internal_pointer_reset(type->elements); while (zend_hash_get_current_data(type->elements, (void**)&tmp) == SUCCESS) { Index: ext/soap/php_sdl.c === RCS file: /repository/php-src/ext/soap/php_sdl.c,v retrieving revision 1.88.2.12.2.4 diff -u -r1.88.2.12.2.4 php_sdl.c --- ext/soap/php_sdl.c 30 Nov 2006 23:51:24 - 1.88.2.12.2.4 +++ ext/soap/php_sdl.c 20 Dec 2006 03:49:58 - @@ -1862,8 +1862,8 @@ if (i > 0) { sdlTypePtr *tmp; - tmp_elements = emalloc(sizeof(HashTable)); - zend_hash_init(tmp_elements, zend_hash_num_elements(type->elements), NULL, NULL, 0); + tmp_elements = emalloc(sizeof(HashTable)); + zend_hash_init(tmp_elements, i, NULL, NULL, 0); zend_hash_internal_pointer_reset(type->elements); while (zend_hash_get_current_data(type->elements, (void**)&tmp) == SUCCESS) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/soap php_sdl.c
Hi Ilia, A little late, but I made a patch for HEAD since this wasn't applied there. In the process, I noticed that "i" has the value of zend_hash_num_elements() so the second call to it isn't needed. (Indentation was also off on those 2 lines...) Matt - Original Message - From: "Ilia Alshanetsky" Sent: Thursday, November 30, 2006 > iliaa Thu Nov 30 23:51:24 2006 UTC > > Modified files: (Branch: PHP_5_2) > /php-src/ext/soap php_sdl.c > Log: > Small hash table optimization -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src /ext/standard formatted_print.c /ext/standard/tests/serialize 003.phpt /ext/standard/tests/strings sprintf_f.phpt /main snprintf.c snprintf.h spprintf.c ZendEngine2 zend
Hi Antony, The changes to formatted_print.c caught my eye because I was going to inquire about/resubmit a patch from August to add new features the the *printf() functions... :-) I see you've added g/G (and E). In appenddouble, however, I noticed that the F specifier is missing. Nothing to me personally, just wondering about BC for users. I haven't tried anything yet, so maybe locale decimal point/not is handled differently now. Regardless, F will be ignored, though it's still present in php_formatted_print(). If you want to see the patch I made in the summer, see http://news.php.net/php.internals/25276 and http://realplain.com/php/printf_additions.diff I never got around to creating tests for the new features, and also thought I should [maybe] make some small changes in how I did the code. Of course now I'll need to reimplement the appenddouble changes anyway, to accommodate the new code. I guess I'll go ahead and redo it soon. Any comments about the additions/patch from you or anyone else? Marcus said they sounded good before I made the patch, but I didn't hear any more. :-/ Thanks, Matt - Original Message - From: "Antony Dovgal" Sent: Wednesday, December 06, 2006 > tony2001 Wed Dec 6 09:50:28 2006 UTC > > Modified files: > /ZendEngine2 zend.c zend_strtod.c zend_strtod.h > /php-src/ext/standard formatted_print.c > /php-src/ext/standard/tests/serialize 003.phpt > /php-src/ext/standard/tests/strings sprintf_f.phpt > /php-src/main snprintf.c snprintf.h spprintf.c > Log: > use BSD licensed implementation of double-to-string utilities instead of LGPL one > this patch also fixes thread safety issues in zend_strtod() > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard array.c
Hi Ilia, Oh, sorry, didn't know it was a time issue. :-) I thought both branches were mostly always updated together to keep things synced, etc. In that case, if it saves you any time, I've attached the patch for HEAD. - Original Message - From: "Ilia Alshanetsky" Sent: Monday, November 13, 2006 Matt, I did a cursory check through ext/ and this seems like the only place the optimization trick can be applied. I will look into writing a patch for HEAD when I have a bit more time. On 12-Nov-06, at 6:20 PM, Matt Wilmas wrote: > Hi Ilia, > > Ah, I had wondered what other places could be changed to use the > _quick > functions (but didn't really check). :-) Anyway, will this be > applied to > HEAD also? > > > Matt > > > - Original Message - > From: "Ilia Alshanetsky" > Sent: Sunday, November 12, 2006 > >> iliaa Sun Nov 12 17:13:23 2006 UTC >> >> Modified files: (Branch: PHP_5_2) >> /php-src NEWS >> /php-src/ext/standard array.c >> Log: >> Optimized array functions utilizing php_splice(). >> Index: ext/standard/array.c === RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.390 diff -u -r1.390 array.c --- ext/standard/array.c12 Nov 2006 01:11:58 - 1.390 +++ ext/standard/array.c13 Nov 2006 15:04:19 - @@ -1977,7 +1977,7 @@ if (p->nKeyLength == 0) { zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); } else { - zend_u_hash_update(out_hash, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, &entry, sizeof(zval *), NULL); + zend_u_hash_quick_update(out_hash, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); } } @@ -1989,7 +1989,7 @@ if (p->nKeyLength == 0) { zend_hash_next_index_insert(*removed, &entry, sizeof(zval *), NULL); } else { - zend_u_hash_update(*removed, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, &entry, sizeof(zval *), NULL); + zend_u_hash_quick_update(*removed, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); } } } else /* otherwise just skip those entries */ @@ -2000,17 +2000,7 @@ /* ..for each one, create a new zval, copy entry into it and copy it into the output hash */ for (i=0; irefcount>=1000) { - zval *tmp = (zval *) emalloc(sizeof(zval)); - - *tmp = *entry; - zval_copy_ctor(tmp); - tmp->refcount = 1; - tmp->is_ref = 0; - entry = tmp; - } else { - entry->refcount++; - } + entry->refcount++; zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); } } @@ -2022,7 +2012,7 @@ if (p->nKeyLength == 0) { zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); } else { - zend_u_hash_update(out_hash, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, &entry, sizeof(zval *), NULL); + zend_u_hash_quick_update(out_hash, p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard array.c
Hi Ilia, Ah, I had wondered what other places could be changed to use the _quick functions (but didn't really check). :-) Anyway, will this be applied to HEAD also? Matt - Original Message - From: "Ilia Alshanetsky" Sent: Sunday, November 12, 2006 > iliaa Sun Nov 12 17:13:23 2006 UTC > > Modified files: (Branch: PHP_5_2) > /php-src NEWS > /php-src/ext/standard array.c > Log: > Optimized array functions utilizing php_splice(). > > > http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.357&r2=1.2027.2.547.2.358&diff_format=u > Index: php-src/NEWS > diff -u php-src/NEWS:1.2027.2.547.2.357 php-src/NEWS:1.2027.2.547.2.358 > --- php-src/NEWS:1.2027.2.547.2.357 Sun Nov 12 01:14:39 2006 > +++ php-src/NEWS Sun Nov 12 17:13:22 2006 > @@ -15,6 +15,7 @@ > - Streams optimization (Dmitry) >. removed unnecessary ftell() calls (one call for each included PHP file) >. disabled calls to read() after EOF > +- Optimized array functions utilizing php_splice(). (Ilia) > - VCWD_REALPATH() is improved to use realpath cache without VIRTUAL_DIR. >(Dmitry) > - ext/bcmath intialization code is moved from request startup to module > http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.15&r2=1.308.2.21.2.16&diff_format=u > Index: php-src/ext/standard/array.c > diff -u php-src/ext/standard/array.c:1.308.2.21.2.15 php-src/ext/standard/array.c:1.308.2.21.2.16 > --- php-src/ext/standard/array.c:1.308.2.21.2.15 Sun Nov 12 01:14:39 2006 > +++ php-src/ext/standard/array.c Sun Nov 12 17:13:22 2006 > @@ -21,7 +21,7 @@ > +--+ > */ > > -/* $Id: array.c,v 1.308.2.21.2.15 2006/11/12 01:14:39 bjori Exp $ */ > +/* $Id: array.c,v 1.308.2.21.2.16 2006/11/12 17:13:22 iliaa Exp $ */ > > #include "php.h" > #include "php_ini.h" > @@ -1874,7 +1874,7 @@ > > /* Update output hash depending on key type */ > if (p->nKeyLength) > - zend_hash_update(out_hash, p->arKey, p->nKeyLength, &entry, sizeof(zval *), NULL); > + zend_hash_quick_update(out_hash, p->arKey, p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); > else > zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); > } > @@ -1885,7 +1885,7 @@ > entry = *((zval **)p->pData); > entry->refcount++; > if (p->nKeyLength) > - zend_hash_update(*removed, p->arKey, p->nKeyLength, &entry, sizeof(zval *), NULL); > + zend_hash_quick_update(*removed, p->arKey, p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); > else > zend_hash_next_index_insert(*removed, &entry, sizeof(zval *), NULL); > } > @@ -1897,17 +1897,7 @@ > /* ..for each one, create a new zval, copy entry into it and copy it into the output hash */ > for (i=0; i entry = *list[i]; > - if (entry->refcount>=1000) { > - zval *tmp = (zval *) emalloc(sizeof(zval)); > - > - *tmp = *entry; > - zval_copy_ctor(tmp); > - tmp->refcount = 1; > - tmp->is_ref = 0; > - entry = tmp; > - } else { > - entry->refcount++; > - } > + entry->refcount++; > zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); > } > } > @@ -1917,7 +1907,7 @@ > entry = *((zval **)p->pData); > entry->refcount++; > if (p->nKeyLength) > - zend_hash_update(out_hash, p->arKey, p->nKeyLength, &entry, sizeof(zval *), NULL); > + zend_hash_quick_update(out_hash, p->arKey, p->nKeyLength, p->h, &entry, sizeof(zval *), NULL); > else > zend_hash_next_index_insert(out_hash, &entry, sizeof(zval *), NULL); > } > @@ -2212,7 +2202,7 @@ > /* Get the arguments and do error-checking */ > argc = ZEND_NUM_ARGS(); > if (argc < 2 || argc > 4 || zend_get_parameters_ex(argc, &input, &offset, &length, &z_preserve_keys)) { > - WRONG_PARAM_COUNT; > + WRONG_PARA¬M_COUNT; > } > > if (Z_TYPE_PP(input) != IS_ARRAY) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php