[PHP-CVS] com php-src: fix NEWS: NEWS
Commit:643e7a54ec8e06a0fc9996eea9d0125f4fa531a5 Author:Stanislav Malyshev s...@php.net Tue, 15 Jan 2013 00:06:35 -0800 Parents: 3bc74903706ab08e916905a0bd634e77aa804def Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=643e7a54ec8e06a0fc9996eea9d0125f4fa531a5 Log: fix NEWS Changed paths: M NEWS Diff: diff --git a/NEWS b/NEWS index 79d5d9a..5f45667 100644 --- a/NEWS +++ b/NEWS @@ -7,9 +7,18 @@ PHP NEWS protected property). (Stas) . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) + . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) + . Fixed bug #43225 (fputcsv incorrectly handles cells ending in \ followed +by ). (Adam) . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) +- Date: + . Fixed bug #63699 (Performance improvements for various ext/date functions). +(Lars, original patch by njaguar at gmail dot com) + . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. +(Derick) + - Litespeed: . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) @@ -27,7 +36,6 @@ PHP NEWS ?? ??? 2012, PHP 5.4.11 - Core: - . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). (Johannes) . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). @@ -56,10 +64,6 @@ PHP NEWS . Fixed bug #55438 (Curlwapper is not sending http header randomly). (php...@lostreality.org, Pierrick) -- Date: - . Fixed bug #63699 (Performance improvements for various ext/date functions). -(Lars, original patch by njaguar at gmail dot com) - 20 Dec 2012, PHP 5.4.10 - Core: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: fix NEWS: NEWS
Commit:374ebc87416d9e31efd961a3176510e3a901355b Author:Stanislav Malyshev s...@php.net Tue, 15 Jan 2013 00:06:35 -0800 Parents: 0510701474e8d99b5b30139b5599e44f9b555a5a Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=374ebc87416d9e31efd961a3176510e3a901355b Log: fix NEWS Changed paths: M NEWS Diff: diff --git a/NEWS b/NEWS index 79d5d9a..5f45667 100644 --- a/NEWS +++ b/NEWS @@ -7,9 +7,18 @@ PHP NEWS protected property). (Stas) . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) + . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) + . Fixed bug #43225 (fputcsv incorrectly handles cells ending in \ followed +by ). (Adam) . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) +- Date: + . Fixed bug #63699 (Performance improvements for various ext/date functions). +(Lars, original patch by njaguar at gmail dot com) + . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. +(Derick) + - Litespeed: . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) @@ -27,7 +36,6 @@ PHP NEWS ?? ??? 2012, PHP 5.4.11 - Core: - . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). (Johannes) . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). @@ -56,10 +64,6 @@ PHP NEWS . Fixed bug #55438 (Curlwapper is not sending http header randomly). (php...@lostreality.org, Pierrick) -- Date: - . Fixed bug #63699 (Performance improvements for various ext/date functions). -(Lars, original patch by njaguar at gmail dot com) - 20 Dec 2012, PHP 5.4.10 - Core: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Bug #62489: dba_insert not working as expected: NEWS ext/dba/dba_flatfile.c ext/dba/dba_gdbm.c ext/dba/dba_inifile.c ext/dba/dba_qdbm.c ext/dba/tests/dba_db1.phpt ext/dba/tests/
Commit:eb40f73ca0a2a7563fbc95cc22741412e0beb76e Author:Lars Strojny lstro...@php.net Tue, 15 Jan 2013 09:30:44 +0100 Parents: 6dc80f080ea97c09b36d8a05ec7ec5067f394c01 Branches: PHP-5.5 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=eb40f73ca0a2a7563fbc95cc22741412e0beb76e Log: Bug #62489: dba_insert not working as expected Bugs: https://bugs.php.net/62489 Changed paths: M NEWS M ext/dba/dba_flatfile.c M ext/dba/dba_gdbm.c M ext/dba/dba_inifile.c M ext/dba/dba_qdbm.c M ext/dba/tests/dba_db1.phpt M ext/dba/tests/dba_db2.phpt M ext/dba/tests/dba_db3.phpt M ext/dba/tests/dba_db4_000.phpt M ext/dba/tests/dba_dbm.phpt M ext/dba/tests/dba_flatfile.phpt M ext/dba/tests/dba_gdbm.phpt M ext/dba/tests/dba_handler.inc M ext/dba/tests/dba_inifile.phpt M ext/dba/tests/dba_ndbm.phpt M ext/dba/tests/dba_qdbm.phpt M ext/dba/tests/dba_tcadb.phpt diff --git a/NEWS b/NEWS index 9e8cd85..4145dc5 100644 --- a/NEWS +++ b/NEWS @@ -27,12 +27,16 @@ PHP NEWS - DateTime . Added DateTimeImmutable - a variant of DateTime that only returns the -modified state instead of changing itself. (Derick) +modified state instead of changing itself. (Derick) - pgsql: . Bug #46408: Locale number format settings can cause pg_query_params to break with numerics. (asmecher, Lars) +- dba: + . Bug #62489: dba_insert not working as expected. +(marc-bennewitz at arcor dot de, Lars) + 18 Dec 2012, PHP 5.5.0 Alpha 2 - General improvements: diff --git a/ext/dba/dba_flatfile.c b/ext/dba/dba_flatfile.c index 082aa5c..34aa635 100644 --- a/ext/dba/dba_flatfile.c +++ b/ext/dba/dba_flatfile.c @@ -88,15 +88,16 @@ DBA_UPDATE_FUNC(flatfile) gval.dsize = vallen; switch(flatfile_store(dba, gkey, gval, mode==1 ? FLATFILE_INSERT : FLATFILE_REPLACE TSRMLS_CC)) { - case -1: - php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, Operation not possible); - return FAILURE; - default: - case 0: - return SUCCESS; - case 1: - php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, Key already exists); - return FAILURE; + case 0: + return SUCCESS; + case 1: + return FAILURE; + case -1: + php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, Operation not possible); + return FAILURE; + default: + php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, Unknown return value); + return FAILURE; } } diff --git a/ext/dba/dba_gdbm.c b/ext/dba/dba_gdbm.c index 7534568..47dd576 100644 --- a/ext/dba/dba_gdbm.c +++ b/ext/dba/dba_gdbm.c @@ -104,11 +104,18 @@ DBA_UPDATE_FUNC(gdbm) gval.dptr = (char *) val; gval.dsize = vallen; - if(gdbm_store(dba-dbf, gkey, gval, - mode == 1 ? GDBM_INSERT : GDBM_REPLACE) == 0) - return SUCCESS; - php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, %s, gdbm_strerror(gdbm_errno)); - return FAILURE; + switch (gdbm_store(dba-dbf, gkey, gval, mode == 1 ? GDBM_INSERT : GDBM_REPLACE)) { + case 0: + return SUCCESS; + case 1: + return FAILURE; + case -1: + php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, %s, gdbm_strerror(gdbm_errno)); + return FAILURE; + default: + php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, Unknown return value); + return FAILURE; + } } DBA_EXISTS_FUNC(gdbm) diff --git a/ext/dba/dba_inifile.c b/ext/dba/dba_inifile.c index e1359b6..05ee95c 100644 --- a/ext/dba/dba_inifile.c +++ b/ext/dba/dba_inifile.c @@ -101,7 +101,6 @@ DBA_UPDATE_FUNC(inifile) case 0: return SUCCESS; case 1: - php_error_docref1(NULL TSRMLS_CC, key, E_WARNING, Key already exists); return FAILURE; } } diff --git a/ext/dba/dba_qdbm.c b/ext/dba/dba_qdbm.c index 485b199..eeece57 100644 --- a/ext/dba/dba_qdbm.c +++ b/ext/dba/dba_qdbm.c @@ -96,13 +96,15 @@ DBA_FETCH_FUNC(qdbm) DBA_UPDATE_FUNC(qdbm) { QDBM_DATA; - int result; - result = dpput(dba-dbf, key, keylen, val, vallen, mode == 1 ? DP_DKEEP : DP_DOVER); - if (result) + if (dpput(dba-dbf, key, keylen, val, vallen, mode == 1 ? DP_DKEEP : DP_DOVER)) { return SUCCESS; + } + + if (dpecode != DP_EKEEP) { + php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, %s, dperrmsg(dpecode)); + } - php_error_docref2(NULL TSRMLS_CC, key, val, E_WARNING, %s, dperrmsg(dpecode));
[PHP-CVS] com php-src: Merge branch 'PHP-5.5': NEWS
Commit:c4fe37bd8c5e35d1957d43acecbcb3f010501e4a Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 10:12:54 +0100 Parents: 7a316922536495560b080bc602f54c268537c67b dc495bbe95680a9cf2321da83a382d834d70758c Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c4fe37bd8c5e35d1957d43acecbcb3f010501e4a Log: Merge branch 'PHP-5.5' Conflicts: NEWS Changed paths: MM NEWS diff --cc NEWS index 7d36738,4145dc5..f753a83 --- a/NEWS +++ b/NEWS @@@ -1,6 -1,250 +1,5 @@@ PHP NEWS ||| - HEAD -?? ??? 201?, PHP 5.5.0 Alpha 3 - -- Core: - . Fixed bug #63980 (object members get trimmed by zero bytes). (Laruence) - -- General improvements: - . Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc). (Pierrick) - . Fixed bug #63822 (Crash when using closures with ArrayAccess). -(Nikita Popov) - . Add Generator::throw() method. (Nikita Popov) - . Bug #23955: allow specifying Max-Age attribute in setcookie() (narfbg, Lars) - . Bug #52126: timestamp for mail.log (Martin Jansen, Lars) - -- mysqlnd - . Fixed return value of mysqli_stmt_affected_rows() in the time after -prepare() and before execute(). (Andrey) - -- cURL: - . Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror -curl_pause, curl_reset, curl_share_close, curl_share_init, - curl_share_setopt curl_strerror and curl_unescape. (Pierrick) - . Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, -CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, - CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL. (Pierrick) - -- DateTime - . Added DateTimeImmutable - a variant of DateTime that only returns the -modified state instead of changing itself. (Derick) - -- pgsql: - . Bug #46408: Locale number format settings can cause pg_query_params to -break with numerics. (asmecher, Lars) - -- dba: - . Bug #62489: dba_insert not working as expected. -(marc-bennewitz at arcor dot de, Lars) - -18 Dec 2012, PHP 5.5.0 Alpha 2 - -- General improvements: - . Added systemtap support by enabling systemtap compatible dtrace probes on -linux. (David Soria Parra) - . Added support for using empty() on the result of function calls and -other expressions (https://wiki.php.net/rfc/empty_isset_exprs). -(Nikita Popov) - . Optimized access to temporary and compiled VM variables. 8% less memory -reads. (Dmitry) - . The VM stacks for passing function arguments and syntaticaly nested calls -were merged into a single stack. The stack size needed for op_array -execution is calculated at compile time and preallocated at once. As result -all the stack push operatins don't require checks for stack overflow -any more. (Dmitry) - -- MySQL - . This extension is now deprecated, and deprecation warnings will be generated -when connections are established to databases via mysql_connect(), -mysql_pconnect(), or through implicit connection: use MySQLi or PDO_MySQL -instead (https://wiki.php.net/rfc/mysql_deprecation). (Adam) - -- Fileinfo: - . Fixed bug #63590 (Different results in TS and NTS under Windows). -(Anatoliy) - -- Apache2 Handler SAPI: - . Enabled Apache 2.4 configure option for Windows (Pierre, Anatoliy) - -13 Nov 2012, PHP 5.5.0 Alpha 1 - -- General improvements: - . Added generators and coroutines (https://wiki.php.net/rfc/generators). -(Nikita Popov) - . Added finally keyword (https://wiki.php.net/rfc/finally). (Laruence) - . Add simplified password hashing API -(https://wiki.php.net/rfc/password_hash). (Anthony Ferrara) - . Added support for list in foreach (https://wiki.php.net/rfc/foreachlist). -(Laruence) - . Added support for using empty() on the result of function calls and -other expressions (https://wiki.php.net/rfc/empty_isset_exprs). -(Nikita Popov) - . Added support for constant array/string dereferencing. (Laruence) - . Improve set_exception_handler while doing reset.(Laruence) - . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), -zend_logo_guid(). (Adnrew Faulds) - . Drop Windows XP and 2003 support. (Pierre) - -- Calendar: - . Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar) -(Stas, Eitan Mosenkis) - -- Core: - . Added boolval(). (Jille Timmermans) - . Added Z option to pack/unpack. (Gustavo) - . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL). -(Laruence, Nikita Popov) - . Added optional second argument for assert() to specify custom message. Patch -by Lonny Kapelushnik (lo...@lonnylot.com). (Lars) - . Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas) - . Fixed bug #61681
[PHP-CVS] com php-src: Add support for connect attributes, as of MySQL 5.6: ext/mysqlnd/mysqlnd.c ext/mysqlnd/mysqlnd.h ext/mysqlnd/mysqlnd_auth.c ext/mysqlnd/mysqlnd_enum_n_def.h ext/mysqlnd/mysqlnd_
Commit:1ff43522630f0f98c20e884890f77e6593a43f3b Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 10:04:59 +0100 Parents: be07f815f240803fe7a48a5fb3d68a169bef4707 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1ff43522630f0f98c20e884890f77e6593a43f3b Log: Add support for connect attributes, as of MySQL 5.6 Changed paths: M ext/mysqlnd/mysqlnd.c M ext/mysqlnd/mysqlnd.h M ext/mysqlnd/mysqlnd_auth.c M ext/mysqlnd/mysqlnd_enum_n_def.h M ext/mysqlnd/mysqlnd_libmysql_compat.h M ext/mysqlnd/mysqlnd_structs.h M ext/mysqlnd/mysqlnd_wireprotocol.c M ext/mysqlnd/mysqlnd_wireprotocol.h diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index ebc4a77..1023b3e 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -95,6 +95,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, free_options)(MYSQLND_CONN_DATA * conn TSRMLS_ mnd_pefree(conn-options-cfg_section, pers); conn-options-cfg_section = NULL; } + if (conn-options-connect_attr) { + zend_hash_destroy(conn-options-connect_attr); + mnd_pefree(conn-options-connect_attr, pers); + conn-options-connect_attr = NULL; + } } /* }}} */ @@ -797,13 +802,14 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect_handshake)(MYSQLND_CONN_DATA * conn, goto err; } + conn-client_flag = mysql_flags; + conn-server_capabilities = greet_packet-server_capabilities; + if (FAIL == mysqlnd_connect_run_authentication(conn, user, passwd, db, db_len, (size_t) passwd_len, greet_packet, conn-options, mysql_flags TSRMLS_CC)) { goto err; } - conn-client_flag = mysql_flags; - conn-server_capabilities = greet_packet-server_capabilities; conn-upsert_status-warning_count = 0; conn-upsert_status-server_status = greet_packet-server_status; conn-upsert_status-affected_rows = 0; @@ -811,6 +817,8 @@ MYSQLND_METHOD(mysqlnd_conn_data, connect_handshake)(MYSQLND_CONN_DATA * conn, PACKET_FREE(greet_packet); DBG_RETURN(PASS); err: + conn-client_flag = 0; + conn-server_capabilities = 0; PACKET_FREE(greet_packet); DBG_RETURN(FAIL); } @@ -1086,6 +1094,7 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn_handle, DBG_ENTER(mysqlnd_conn::connect); if (PASS == conn-m-local_tx_start(conn, this_func TSRMLS_CC)) { + mysqlnd_options4(conn_handle, MYSQL_OPT_CONNECT_ATTR_ADD, _client_name, mysqlnd); ret = conn-m-connect(conn, host, user, passwd, passwd_len, db, db_len, port, socket_or_pipe, mysql_flags TSRMLS_CC); conn-m-local_tx_end(conn, this_func, FAIL TSRMLS_CC); @@ -2375,6 +2384,19 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c conn-options-flags = ~CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS; } break; + case MYSQL_OPT_CONNECT_ATTR_RESET: + if (conn-options-connect_attr) { + DBG_INF_FMT(Before reset %d attribute(s), zend_hash_num_elements(conn-options-connect_attr)); + zend_hash_clean(conn-options-connect_attr); + } + break; + case MYSQL_OPT_CONNECT_ATTR_DELETE: + if (conn-options-connect_attr value) { + DBG_INF_FMT(Before delete %d attribute(s), zend_hash_num_elements(conn-options-connect_attr)); + zend_hash_del(conn-options-connect_attr, value, strlen(value)); + DBG_INF_FMT(%d left, zend_hash_num_elements(conn-options-connect_attr)); + } + break; #ifdef WHEN_SUPPORTED_BY_MYSQLI case MYSQL_SHARED_MEMORY_BASE_NAME: case MYSQL_OPT_USE_RESULT: @@ -2395,6 +2417,69 @@ end: /* }}} */ +/* {{{ connect_attr_item_dtor */ +static void +connect_attr_item_dtor(void * pDest) +{ +#ifdef ZTS + TSRMLS_FETCH(); +#endif + DBG_ENTER(connect_attr_item_dtor); + mnd_pefree(*(char **) pDest, 1); + DBG_VOID_RETURN; +} +/* }}} */ + + +/* {{{ mysqlnd_conn_data::set_client_option_2d */ +static enum_func_status +MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * const conn, + enum mysqlnd_option option, + const char * const key, +
[PHP-CVS] com php-src: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa.: ext/spl/tests/SplFileObject_fputcsv.phpt
Commit:83864b470b030a7d1bd0a1b46d3be75ce301304c Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:37:21 +0800 Parents: b1bf524140f3825d161c6e8f922b696d91b93969 Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=83864b470b030a7d1bd0a1b46d3be75ce301304c Log: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa. This reverts commit 0510701474e8d99b5b30139b5599e44f9b555a5a. Changed paths: M ext/spl/tests/SplFileObject_fputcsv.phpt Diff: diff --git a/ext/spl/tests/SplFileObject_fputcsv.phpt b/ext/spl/tests/SplFileObject_fputcsv.phpt index 601edab..66fdbfd 100644 --- a/ext/spl/tests/SplFileObject_fputcsv.phpt +++ b/ext/spl/tests/SplFileObject_fputcsv.phpt @@ -42,7 +42,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -76,10 +76,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa.: ext/spl/tests/SplFileObject_fputcsv.phpt
Commit:ef86530a561ad3d6374b81909d6dd336159fb465 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:37:21 +0800 Parents: cab290d2adbd616a18b9efaace6abe629f827190 Branches: PHP-5.5 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ef86530a561ad3d6374b81909d6dd336159fb465 Log: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa. This reverts commit 0510701474e8d99b5b30139b5599e44f9b555a5a. Changed paths: M ext/spl/tests/SplFileObject_fputcsv.phpt Diff: diff --git a/ext/spl/tests/SplFileObject_fputcsv.phpt b/ext/spl/tests/SplFileObject_fputcsv.phpt index 601edab..66fdbfd 100644 --- a/ext/spl/tests/SplFileObject_fputcsv.phpt +++ b/ext/spl/tests/SplFileObject_fputcsv.phpt @@ -42,7 +42,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -76,10 +76,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa.: ext/spl/tests/SplFileObject_fputcsv.phpt
Commit:40c1122dcc8d74b063d5b6f06d5ce52ff7b3dcc3 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:37:21 +0800 Parents: 232cf4a640f00932e8030b0d57541a8d5c286309 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=40c1122dcc8d74b063d5b6f06d5ce52ff7b3dcc3 Log: Revert Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa. This reverts commit 0510701474e8d99b5b30139b5599e44f9b555a5a. Changed paths: M ext/spl/tests/SplFileObject_fputcsv.phpt Diff: diff --git a/ext/spl/tests/SplFileObject_fputcsv.phpt b/ext/spl/tests/SplFileObject_fputcsv.phpt index 601edab..66fdbfd 100644 --- a/ext/spl/tests/SplFileObject_fputcsv.phpt +++ b/ext/spl/tests/SplFileObject_fputcsv.phpt @@ -42,7 +42,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -76,10 +76,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Revert Update fputcsv() to escape all characters equally.: ext/standard/file.c ext/standard/tests/file/fputcsv.phpt ext/standard/tests/file/fputcsv_bug43225.phpt
Commit:232cf4a640f00932e8030b0d57541a8d5c286309 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:33:54 +0800 Parents: c77fe090ea8dcbf0ceab924c748182ea472ef32d Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=232cf4a640f00932e8030b0d57541a8d5c286309 Log: Revert Update fputcsv() to escape all characters equally. On second thoughts, while the behaviour _is_ broken, this isn't the right fix. This reverts commit 9b5cb0e8059b1e8bec096067491ed8d75f878938. Changed paths: M ext/standard/file.c M ext/standard/tests/file/fputcsv.phpt D ext/standard/tests/file/fputcsv_bug43225.phpt Diff: diff --git a/ext/standard/file.c b/ext/standard/file.c index 574fb53..74577ac 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1871,16 +1871,20 @@ PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char en FPUTCSV_FLD_CHK('\n') || FPUTCSV_FLD_CHK('\r') || FPUTCSV_FLD_CHK('\t') || - FPUTCSV_FLD_CHK('\\') || FPUTCSV_FLD_CHK(' ') ) { char *ch = Z_STRVAL(field); char *end = ch + Z_STRLEN(field); + int escaped = 0; smart_str_appendc(csvline, enclosure); while (ch end) { - if (*ch == enclosure) { + if (*ch == escape_char) { + escaped = 1; + } else if (!escaped *ch == enclosure) { smart_str_appendc(csvline, enclosure); + } else { + escaped = 0; } smart_str_appendc(csvline, *ch); ch++; diff --git a/ext/standard/tests/file/fputcsv.phpt b/ext/standard/tests/file/fputcsv.phpt index d71f777..63c4150 100644 --- a/ext/standard/tests/file/fputcsv.phpt +++ b/ext/standard/tests/file/fputcsv.phpt @@ -44,7 +44,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -75,10 +75,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', diff --git a/ext/standard/tests/file/fputcsv_bug43225.phpt b/ext/standard/tests/file/fputcsv_bug43225.phpt deleted file mode 100644 index 1de3b5f..000 --- a/ext/standard/tests/file/fputcsv_bug43225.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -fputcsv(): bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ) ---FILE-- -?php - -$row = array( -'a\\', -'bbb', -); - -$file = dirname(__FILE__) . 'fgetcsv_bug43225.csv'; -$fp = fopen($file, 'w'); -fputcsv($fp, $row); -fclose($fp); -readfile($file); -unlink($file); - -? ---EXPECT-- -a\,bbb -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Revert Update fputcsv() to escape all characters equally.: ext/standard/file.c ext/standard/tests/file/fputcsv.phpt ext/standard/tests/file/fputcsv_bug43225.phpt
Commit:cab290d2adbd616a18b9efaace6abe629f827190 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:33:54 +0800 Parents: dc495bbe95680a9cf2321da83a382d834d70758c Branches: PHP-5.5 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=cab290d2adbd616a18b9efaace6abe629f827190 Log: Revert Update fputcsv() to escape all characters equally. On second thoughts, while the behaviour _is_ broken, this isn't the right fix. This reverts commit 9b5cb0e8059b1e8bec096067491ed8d75f878938. Changed paths: M ext/standard/file.c M ext/standard/tests/file/fputcsv.phpt D ext/standard/tests/file/fputcsv_bug43225.phpt Diff: diff --git a/ext/standard/file.c b/ext/standard/file.c index 574fb53..74577ac 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1871,16 +1871,20 @@ PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char en FPUTCSV_FLD_CHK('\n') || FPUTCSV_FLD_CHK('\r') || FPUTCSV_FLD_CHK('\t') || - FPUTCSV_FLD_CHK('\\') || FPUTCSV_FLD_CHK(' ') ) { char *ch = Z_STRVAL(field); char *end = ch + Z_STRLEN(field); + int escaped = 0; smart_str_appendc(csvline, enclosure); while (ch end) { - if (*ch == enclosure) { + if (*ch == escape_char) { + escaped = 1; + } else if (!escaped *ch == enclosure) { smart_str_appendc(csvline, enclosure); + } else { + escaped = 0; } smart_str_appendc(csvline, *ch); ch++; diff --git a/ext/standard/tests/file/fputcsv.phpt b/ext/standard/tests/file/fputcsv.phpt index d71f777..63c4150 100644 --- a/ext/standard/tests/file/fputcsv.phpt +++ b/ext/standard/tests/file/fputcsv.phpt @@ -44,7 +44,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -75,10 +75,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', diff --git a/ext/standard/tests/file/fputcsv_bug43225.phpt b/ext/standard/tests/file/fputcsv_bug43225.phpt deleted file mode 100644 index 1de3b5f..000 --- a/ext/standard/tests/file/fputcsv_bug43225.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -fputcsv(): bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ) ---FILE-- -?php - -$row = array( -'a\\', -'bbb', -); - -$file = dirname(__FILE__) . 'fgetcsv_bug43225.csv'; -$fp = fopen($file, 'w'); -fputcsv($fp, $row); -fclose($fp); -readfile($file); -unlink($file); - -? ---EXPECT-- -a\,bbb -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Revert Update fputcsv() to escape all characters equally.: NEWS ext/standard/file.c ext/standard/tests/file/fputcsv.phpt ext/standard/tests/file/fputcsv_bug43225.phpt
Commit:c077074c1379b5faed386106fdbb53f5d17fd6e7 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:33:54 +0800 Parents: 9b5cb0e8059b1e8bec096067491ed8d75f878938 Branches: PHP-5.3 PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c077074c1379b5faed386106fdbb53f5d17fd6e7 Log: Revert Update fputcsv() to escape all characters equally. On second thoughts, while the behaviour _is_ broken, this isn't the right fix. This reverts commit 9b5cb0e8059b1e8bec096067491ed8d75f878938. Changed paths: M NEWS M ext/standard/file.c M ext/standard/tests/file/fputcsv.phpt D ext/standard/tests/file/fputcsv_bug43225.phpt Diff: diff --git a/NEWS b/NEWS index a7c2fa4..e78af23 100644 --- a/NEWS +++ b/NEWS @@ -12,8 +12,6 @@ PHP NEWS - Core . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) - . Fixed bug #43225 (fputcsv incorrectly handles cells ending in \ followed -by ). (Adam) - cURL extension: . Fixed bug (segfault due to libcurl connection caching). (Pierrick) diff --git a/ext/standard/file.c b/ext/standard/file.c index fa85bf1..8b18155 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1953,6 +1953,7 @@ PHP_FUNCTION(fputcsv) { char delimiter = ','; /* allow this to be set as parameter */ char enclosure = ''; /* allow this to be set as parameter */ + const char escape_char = '\\'; php_stream *stream; int ret; zval *fp = NULL, *fields = NULL, **field_tmp = NULL, field; @@ -2007,19 +2008,24 @@ PHP_FUNCTION(fputcsv) /* enclose a field that contains a delimiter, an enclosure character, or a newline */ if (FPUTCSV_FLD_CHK(delimiter) || FPUTCSV_FLD_CHK(enclosure) || + FPUTCSV_FLD_CHK(escape_char) || FPUTCSV_FLD_CHK('\n') || FPUTCSV_FLD_CHK('\r') || FPUTCSV_FLD_CHK('\t') || - FPUTCSV_FLD_CHK('\\') || FPUTCSV_FLD_CHK(' ') ) { char *ch = Z_STRVAL(field); char *end = ch + Z_STRLEN(field); + int escaped = 0; smart_str_appendc(csvline, enclosure); while (ch end) { - if (*ch == enclosure) { + if (*ch == escape_char) { + escaped = 1; + } else if (!escaped *ch == enclosure) { smart_str_appendc(csvline, enclosure); + } else { + escaped = 0; } smart_str_appendc(csvline, *ch); ch++; diff --git a/ext/standard/tests/file/fputcsv.phpt b/ext/standard/tests/file/fputcsv.phpt index d71f777..63c4150 100644 --- a/ext/standard/tests/file/fputcsv.phpt +++ b/ext/standard/tests/file/fputcsv.phpt @@ -44,7 +44,7 @@ echo '$list = ';var_export($res);echo ;\n; $fp = fopen($file, r); $res = array(); -while($l=fgetcsv($fp, 0, ',', '', '')) +while($l=fgetcsv($fp)) { $res[] = join(',',$l); } @@ -75,10 +75,10 @@ $list = array ( 13 = 'aaa,bbb ', 14 = 'aa,bb', 15 = 'aa,bbb', - 16 = 'aaa,\\bbb,ccc', - 17 = 'aaa\\a,bbb', - 18 = '\\,aaa', - 19 = '\\,aaa', + 16 = 'aaa,\\bbb,ccc', + 17 = 'aaa\\a,bbb', + 18 = '\\,aaa', + 19 = '\\,aaa', ); $list = array ( 0 = 'aaa,bbb', diff --git a/ext/standard/tests/file/fputcsv_bug43225.phpt b/ext/standard/tests/file/fputcsv_bug43225.phpt deleted file mode 100644 index 1de3b5f..000 --- a/ext/standard/tests/file/fputcsv_bug43225.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -fputcsv(): bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ) ---FILE-- -?php - -$row = array( -'a\\', -'bbb', -); - -$file = dirname(__FILE__) . 'fgetcsv_bug43225.csv'; -$fp = fopen($file, 'w'); -fputcsv($fp, $row); -fclose($fp); -readfile($file); -unlink($file); - -? ---EXPECT-- -a\,bbb -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.3' into PHP-5.4: NEWS ext/standard/file.c
Commit:b1bf524140f3825d161c6e8f922b696d91b93969 Author:Adam Harvey ahar...@php.net Tue, 15 Jan 2013 17:35:34 +0800 Parents: 374ebc87416d9e31efd961a3176510e3a901355b c077074c1379b5faed386106fdbb53f5d17fd6e7 Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b1bf524140f3825d161c6e8f922b696d91b93969 Log: Merge branch 'PHP-5.3' into PHP-5.4 * PHP-5.3: Revert Update fputcsv() to escape all characters equally. Changed paths: MM NEWS MM ext/standard/file.c Diff: diff --cc NEWS index 5f45667,e78af23..8201ce1 --- a/NEWS +++ b/NEWS @@@ -1,58 -1,17 +1,56 @@@ PHP NEWS ||| -?? ??? 2013, PHP 5.3.23 +?? ??? 2012, PHP 5.4.12 -?? ??? 2013, PHP 5.3.22 - -- Zend Engine: +- Core: + . Fixed bug #63982 (isset() inconsistently produces a fatal error on +protected property). (Stas) + . Fixed bug #63943 (Bad warning text from strpos() on empty needle). +(Laruence) . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) + . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) - . Fixed bug #43225 (fputcsv incorrectly handles cells ending in \ followed - by ). (Adam) + . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) + +- Date: + . Fixed bug #63699 (Performance improvements for various ext/date functions). +(Lars, original patch by njaguar at gmail dot com) + . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. +(Derick) + +- Litespeed: + . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) + +- ext/sqlite3: + . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't +using sqlite3_*_int64 API). (srgoogleguy, Lars) + +- PDO_sqlite: + . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even +on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) + . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence) + . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long +testsuite). (hswong3i, Lars) + +?? ??? 2012, PHP 5.4.11 + +- Core: . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). (Johannes) + . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). +(Todd Ruth, Stas). -- Core - . Fixed bug #63943 (Bad warning text from strpos() on empty needle). -(Laruence) +- Filter: + . Fixed bug #63757 (getenv() produces memory leak with CGI SAPI). (Dmitry) + . Fixed bug #54096 (FILTER_VALIDATE_INT does not accept +0 and -0). +(martin at divbyzero dot net, Lars) + +- JSON: + . Fixed bug #63737 (json_decode does not properly decode with options +parameter). (Adam) + +- CLI server + . Update list of common mime types. Added webm, ogv, ogg. (Lars, +pascalc at gmail dot com) - cURL extension: . Fixed bug (segfault due to libcurl connection caching). (Pierrick) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: ext/standard/file.c
Commit:22ba2b95ce840fb0cc29acac9a1f6240a17c0c08 Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 11:06:59 +0100 Parents: dc495bbe95680a9cf2321da83a382d834d70758c 83864b470b030a7d1bd0a1b46d3be75ce301304c Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=22ba2b95ce840fb0cc29acac9a1f6240a17c0c08 Log: Merge branch 'PHP-5.4' into PHP-5.5 Conflicts: NEWS Changed paths: MM ext/standard/file.c Diff: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: plug a leak - forgot ot use the dtor already written: ext/mysqlnd/mysqlnd.c
Commit:d377a266b27e0d0b2ac088333564f8d1f05cceb8 Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 11:32:44 +0100 Parents: 5718568830ebea6684f3093a5681eb0d44d6d417 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d377a266b27e0d0b2ac088333564f8d1f05cceb8 Log: plug a leak - forgot ot use the dtor already written Changed paths: M ext/mysqlnd/mysqlnd.c Diff: diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index 1023b3e..f5b1063 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -1103,6 +1103,7 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND * conn_handle, } /* }}} */ + /* {{{ mysqlnd_connect */ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn_handle, const char * host, const char * user, @@ -2455,7 +2456,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons if (!conn-options-connect_attr) { goto oom; } - zend_hash_init(conn-options-connect_attr, 0, NULL, NULL, conn-persistent); + zend_hash_init(conn-options-connect_attr, 0, NULL, connect_attr_item_dtor, conn-persistent); } DBG_INF_FMT(Adding [%s][%s], key, value); { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Use two dtors thus allow allocation based on the alloc model of the connection.: ext/date/php_date.c ext/mysqlnd/mysqlnd.c
Commit:acc24d1f9eb1f5dddc89123baca14e70be84be20 Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 12:19:52 +0100 Parents: d377a266b27e0d0b2ac088333564f8d1f05cceb8 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=acc24d1f9eb1f5dddc89123baca14e70be84be20 Log: Use two dtors thus allow allocation based on the alloc model of the connection. Changed paths: M ext/date/php_date.c M ext/mysqlnd/mysqlnd.c Diff: diff --git a/ext/date/php_date.c b/ext/date/php_date.c index cc83130..1e1e239 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2071,7 +2071,7 @@ static zval* date_clone_immutable(zval *object) zval *new_object; ALLOC_ZVAL(new_object); - Z_OBJVAL_P(new_object) = date_object_clone_date(object); +// Z_OBJVAL_P(new_object) = date_object_clone_date(object); Z_SET_REFCOUNT_P(new_object, 1); Z_SET_ISREF_P(new_object); Z_TYPE_P(new_object) = IS_OBJECT; diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index f5b1063..96c420d 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -2418,14 +2418,28 @@ end: /* }}} */ -/* {{{ connect_attr_item_dtor */ +/* {{{ connect_attr_item_edtor */ static void -connect_attr_item_dtor(void * pDest) +connect_attr_item_edtor(void * pDest) { #ifdef ZTS TSRMLS_FETCH(); #endif - DBG_ENTER(connect_attr_item_dtor); + DBG_ENTER(connect_attr_item_edtor); + mnd_efree(*(char **) pDest); + DBG_VOID_RETURN; +} +/* }}} */ + + +/* {{{ connect_attr_item_pdtor */ +static void +connect_attr_item_pdtor(void * pDest) +{ +#ifdef ZTS + TSRMLS_FETCH(); +#endif + DBG_ENTER(connect_attr_item_pdtor); mnd_pefree(*(char **) pDest, 1); DBG_VOID_RETURN; } @@ -2456,11 +2470,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option_2d)(MYSQLND_CONN_DATA * cons if (!conn-options-connect_attr) { goto oom; } - zend_hash_init(conn-options-connect_attr, 0, NULL, connect_attr_item_dtor, conn-persistent); + zend_hash_init(conn-options-connect_attr, 0, NULL, conn-persistent? connect_attr_item_pdtor:connect_attr_item_edtor, conn-persistent); } DBG_INF_FMT(Adding [%s][%s], key, value); { - const char * copyv = mnd_pestrdup(value, 1); + const char * copyv = mnd_pestrdup(value, conn-persistent); if (!copyv) { goto oom; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: revert change. now it doesn't compile again...someone should fix ext/date...: ext/date/php_date.c
Commit:5cfa916aad14df889e9119161e359b57a4d9886e Author:Andrey Hristov and...@php.net Tue, 15 Jan 2013 12:20:58 +0100 Parents: acc24d1f9eb1f5dddc89123baca14e70be84be20 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5cfa916aad14df889e9119161e359b57a4d9886e Log: revert change. now it doesn't compile again...someone should fix ext/date... Changed paths: M ext/date/php_date.c Diff: diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 1e1e239..cc83130 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2071,7 +2071,7 @@ static zval* date_clone_immutable(zval *object) zval *new_object; ALLOC_ZVAL(new_object); -// Z_OBJVAL_P(new_object) = date_object_clone_date(object); + Z_OBJVAL_P(new_object) = date_object_clone_date(object); Z_SET_REFCOUNT_P(new_object, 1); Z_SET_ISREF_P(new_object); Z_TYPE_P(new_object) = IS_OBJECT; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: NEWS for bug #63893: NEWS
Commit:4c38003dbdbb5b66c9d61db4cfd3248d15c93729 Author:Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 17:17:58 +0100 Committer: Gustavo Lopes glo...@nebm.ist.utl.pt Tue, 15 Jan 2013 21:07:21 +0100 Parents: 93e35137aaba98c0a000ed442320e3173bb0a3f2 Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=4c38003dbdbb5b66c9d61db4cfd3248d15c93729 Log: NEWS for bug #63893 Bugs: https://bugs.php.net/63893 Changed paths: M NEWS Diff: diff --git a/NEWS b/NEWS index 8201ce1..bcff155 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,8 @@ PHP NEWS . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) + . Fixed bug #63893 (Poor efficiency of strtr() using array with keys of very +different length). (Gustavo) . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fixed inconsequential bug in strtr(): ext/standard/string.c
Commit:930ef9ddd663dcda5726b5d33c54c49a2f4f97d6 Author:Gustavo Lopes gust...@icemobile.com Tue, 15 Jan 2013 17:25:59 +0100 Parents: d7bac4f5ba17c6fba00943a8bada49a4735a15a6 Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=930ef9ddd663dcda5726b5d33c54c49a2f4f97d6 Log: Fixed inconsequential bug in strtr() Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 953dfd1..58b5483 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3021,7 +3021,7 @@ static PPRES *php_strtr_array_prepare(STR *text, PATNREPL *patterns, int patnum, res-shift-table_mask = SHIFT_TAB_SIZE - 1; php_strtr_populate_shift(patterns, patnum, B, res-m, res-shift); - res-hash = safe_emalloc(HASH_TAB_SIZE, sizeof(*res-hash-entries), sizeof(*res-shift)); + res-hash = safe_emalloc(HASH_TAB_SIZE, sizeof(*res-hash-entries), sizeof(*res-hash)); res-hash-table_mask = HASH_TAB_SIZE - 1; res-patterns = safe_emalloc(patnum, sizeof(*res-patterns), 0); @@ -3051,7 +3051,7 @@ static PPRES *php_strtr_array_prepare(STR *text, PATNREPL *patterns, int patnum, } } } - res-hash-entries[HASH_TAB_SIZE] = patnum; + res-hash-entries[HASH_TAB_SIZE] = patnum; /* OK, we effectively allocated SIZE+1 */ for (i = HASH_TAB_SIZE - 1; i = 0; i--) { if (res-hash-entries[i] == -1) { res-hash-entries[i] = res-hash-entries[i + 1]; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Remove unused block: ext/standard/string.c
Commit:93d1171c47d10158e6e9855236277deb09cf7e6b Author:Gustavo Lopes glo...@nebm.ist.utl.pt Wed, 9 Jan 2013 23:20:11 +0100 Committer: Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 12:22:42 +0100 Parents: cddbb98ada6bdba1596ea82386401edf9b680d47 Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=93d1171c47d10158e6e9855236277deb09cf7e6b Log: Remove unused block Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 4947a67..14259ca 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2790,11 +2790,6 @@ typedef struct { const char *s; STRLEN l; } STR; -typedef struct _match_node MATCH_NODE; -struct _match_node { - STRLEN pos; - MATCH_NODE *next; -}; typedef struct _pat_and_repl { STR pat; STR repl; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: The compiler can figure this out: ext/standard/string.c
Commit:e5029ac40bd84fd3545538afa013051e161d86a4 Author:Gustavo Lopes glo...@nebm.ist.utl.pt Wed, 9 Jan 2013 23:20:32 +0100 Committer: Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 12:22:42 +0100 Parents: 93d1171c47d10158e6e9855236277deb09cf7e6b Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e5029ac40bd84fd3545538afa013051e161d86a4 Log: The compiler can figure this out Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 14259ca..c7ed884 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2821,7 +2821,7 @@ static inline HASH php_strtr_hash(const char *str, int len) HASHres = 0; int i; for (i = 0; i len; i++) { - res = (res 5) + res + (unsigned char)str[i]; + res = res * 33 + (unsigned char)str[i]; } return res; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: strtr() with 2nd param array - optimization: ext/standard/string.c
Commit:cddbb98ada6bdba1596ea82386401edf9b680d47 Author:Gustavo Lopes glo...@nebm.ist.utl.pt Wed, 9 Jan 2013 22:29:28 +0100 Committer: Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 12:22:42 +0100 Parents: 2111ee3df54e890c9e2f14b09c01d68445389540 Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=cddbb98ada6bdba1596ea82386401edf9b680d47 Log: strtr() with 2nd param array - optimization About a 1.25x speedup in my test script by writing the result string only when a match is found and at the end instead of on each iteration. Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 827f9de..4947a67 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -3028,6 +3028,7 @@ static void php_strtr_array_destroy_ppres(PPRES *d) static void php_strtr_array_do_repl(STR *text, PPRES *d, zval *return_value) { STRLEN pos = 0, + nextwpos = 0, lastpos = L(text) - d-m; smart_str result = {0}; @@ -3036,7 +3037,6 @@ static void php_strtr_array_do_repl(STR *text, PPRES *d, zval *return_value) STRLEN shift = d-shift-entries[h]; if (shift 0) { - smart_str_appendl(result, S(text)[pos], MIN(shift, L(text) - pos)); pos += shift; } else { HASHh2 = h d-hash-table_mask, @@ -3056,20 +3056,19 @@ static void php_strtr_array_do_repl(STR *text, PPRES *d, zval *return_value) memcmp(S(pnr-pat), S(text)[pos], L(pnr-pat)) != 0) continue; - smart_str_appendl(result, S(pnr-repl), (int)L(pnr-repl)); + smart_str_appendl(result, S(text)[nextwpos], pos - nextwpos); + smart_str_appendl(result, S(pnr-repl), L(pnr-repl)); pos += L(pnr-pat); + nextwpos = pos; goto end_outer_loop; } - smart_str_appendc(result, S(text)[pos]); pos++; end_outer_loop: ; } } - if (pos L(text)) { - smart_str_appendl(result, S(text)[pos], (int)(L(text) - pos)); - } + smart_str_appendl(result, S(text)[nextwpos], L(text) - nextwpos); if (result.c != NULL) { smart_str_0(result); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Refactoring, bugs leaks: ext/standard/string.c
Commit:2111ee3df54e890c9e2f14b09c01d68445389540 Author:Gustavo Lopes glo...@nebm.ist.utl.pt Wed, 9 Jan 2013 00:33:14 +0100 Committer: Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 12:22:41 +0100 Parents: ccf15cf2dc92d11f92ee30c97e2d86b07f81e030 Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2111ee3df54e890c9e2f14b09c01d68445389540 Log: Refactoring, bugs leaks Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index dc92e8e..827f9de 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2863,7 +2863,91 @@ static int php_strtr_compare_hash_suffix(const void *a, const void *b, void *ctx hash_b = php_strtr_hash(S(pnr_b-pat)[res-m - res-B], res-B) res-hash-table_mask; /* TODO: don't recalculate the hashes all the time */ - return hash_a - hash_b; + if (hash_a hash_b) { + return 1; + } else if (hash_a hash_b) { + return -1; + } else { + /* longer patterns must be sorted first */ + if (L(pnr_a-pat) L(pnr_b-pat)) { + return -1; + } else if (L(pnr_a-pat) L(pnr_b-pat)) { + return 1; + } else { + return 0; + } + } +} +/* }}} */ +/* {{{ php_strtr_free_strp */ +static void php_strtr_free_strp(void *strp) +{ + STR_FREE(*(char**)strp); +} +/* }}} */ +/* {{{ php_strtr_array_prepare_repls */ +static PATNREPL *php_strtr_array_prepare_repls(int slen, HashTable *pats, zend_llist **allocs, int *outsize) +{ + PATNREPL*patterns; + HashPositionhpos; + zval**entry; + int num_pats = zend_hash_num_elements(pats), + i; + + patterns = safe_emalloc(num_pats, sizeof(*patterns), 0); + *allocs = emalloc(sizeof **allocs); + zend_llist_init(*allocs, sizeof(void*), php_strtr_free_strp, 0); + + for (i = 0, zend_hash_internal_pointer_reset_ex(pats, hpos); + zend_hash_get_current_data_ex(pats, (void **)entry, hpos) == SUCCESS; + zend_hash_move_forward_ex(pats, hpos)) { + char*string_key; + uintstring_key_len; + ulong num_key; + zval*tzv = NULL; + + switch (zend_hash_get_current_key_ex(pats, string_key, string_key_len, num_key, 0, hpos)) { + case HASH_KEY_IS_LONG: + string_key_len = 1 + zend_spprintf(string_key, 0, %ld, (long)num_key); + zend_llist_add_element(*allocs, string_key); + /* break missing intentionally */ + + case HASH_KEY_IS_STRING: + string_key_len--; /* exclude final '\0' */ + if (string_key_len == 0) { /* empty string given as pattern */ + efree(patterns); + zend_llist_destroy(*allocs); + efree(*allocs); + *allocs = NULL; + return NULL; + } + if (string_key_len slen) { /* this pattern can never match */ + continue; + } + + if (Z_TYPE_PP(entry) != IS_STRING) { + tzv = *entry; + zval_addref_p(tzv); + SEPARATE_ZVAL(tzv); + convert_to_string(tzv); + entry = tzv; + zend_llist_add_element(*allocs, Z_STRVAL_PP(entry)); + } + + S(patterns[i].pat) = string_key; + L(patterns[i].pat) = string_key_len; + S(patterns[i].repl) = Z_STRVAL_PP(entry); + L(patterns[i].repl) = Z_STRLEN_PP(entry); + i++; + + if (tzv) { + efree(tzv); + } + } + } + + *outsize = i; + return patterns; } /* }}} */ @@ -2952,7 +3036,7 @@ static void php_strtr_array_do_repl(STR *text, PPRES *d, zval *return_value) STRLEN shift = d-shift-entries[h]; if (shift 0) { - smart_str_appendl(result, S(text)[pos], shift); + smart_str_appendl(result, S(text)[pos], MIN(shift, L(text) - pos)); pos += shift; } else { HASHh2 = h d-hash-table_mask,
[PHP-CVS] com php-src: Optimize strtr w/ 2nd arg array: ext/standard/string.c
Commit:ccf15cf2dc92d11f92ee30c97e2d86b07f81e030 Author:Gustavo Lopes glo...@nebm.ist.utl.pt Mon, 7 Jan 2013 03:13:11 +0100 Committer: Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 12:22:41 +0100 Parents: 1a96fe0b3260b4b63627cf69d71a5b350ad3163f Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ccf15cf2dc92d11f92ee30c97e2d86b07f81e030 Log: Optimize strtr w/ 2nd arg array Fixes bug #63893: poor efficiency of strtr() using array with keys of very different length. The implementation is basically all new, which carries some risk with it. The algorithm is described in A Fast Algorithm For Multi-Pattern Searching (1994) by Sun Wu and Udi Manber. Bugs: https://bugs.php.net/63893 Changed paths: M ext/standard/string.c diff --git a/ext/standard/string.c b/ext/standard/string.c index 29115fe..dc92e8e 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -22,7 +22,9 @@ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ +#define _GNU_SOURCE 1 #include stdio.h +#include stdint.h #include php.h #include php_rand.h #include php_string.h @@ -57,6 +59,7 @@ #include php_globals.h #include basic_functions.h #include php_smart_str.h +#include Zend/zend_exceptions.h #ifdef ZTS #include TSRM.h #endif @@ -2772,112 +2775,288 @@ PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trl } /* }}} */ -/* {{{ php_strtr_array - */ -static void php_strtr_array(zval *return_value, char *str, int slen, HashTable *hash) +/* {{{ Definitions for php_strtr_array */ +typedef size_t STRLEN; /* STRLEN should be unsigned */ +typedef uint16_t HASH; +typedef struct { + HASHtable_mask; + STRLEN entries[1]; +} SHIFT_TAB; +typedef struct { + HASHtable_mask; + int entries[1]; +} HASH_TAB; +typedef struct { + const char *s; + STRLEN l; +} STR; +typedef struct _match_node MATCH_NODE; +struct _match_node { + STRLEN pos; + MATCH_NODE *next; +}; +typedef struct _pat_and_repl { + STR pat; + STR repl; +} PATNREPL; + +#define S(a) ((a)-s) +#define L(a) ((a)-l) + +#define SHIFT_TAB_BITS 13 +#define HASH_TAB_BITS 10 /* should be less than sizeof(HASH) * 8 */ +#define SHIFT_TAB_SIZE (1U SHIFT_TAB_BITS) +#define HASH_TAB_SIZE (1U HASH_TAB_BITS) + +typedef struct { + int B; /* size of suffixes */ + int Bp; /* size of prefixes */ + STRLEN m; /* minimum pattern length */ + int patnum; /* number of patterns */ + SHIFT_TAB *shift; /* table mapping hash to allowed shift */ + HASH_TAB*hash; /* table mapping hash to int (pair of pointers) */ + HASH*prefix;/* array of hashes of prefixes by pattern suffix hash order */ + PATNREPL*patterns; /* array of prefixes by pattern suffix hash order */ +} PPRES; +/* }}} */ + +/* {{{ php_strtr_hash */ +static inline HASH php_strtr_hash(const char *str, int len) { - zval **entry; - char *string_key; - uint string_key_len; - zval **trans; - zval ctmp; - ulong num_key; - int minlen = 128*1024; - int maxlen = 0, pos, len, found; - char *key; - HashPosition hpos; - smart_str result = {0}; - HashTable tmp_hash; - - zend_hash_init(tmp_hash, zend_hash_num_elements(hash), NULL, NULL, 0); - zend_hash_internal_pointer_reset_ex(hash, hpos); - while (zend_hash_get_current_data_ex(hash, (void **)entry, hpos) == SUCCESS) { - switch (zend_hash_get_current_key_ex(hash, string_key, string_key_len, num_key, 0, hpos)) { - case HASH_KEY_IS_STRING: - len = string_key_len-1; - if (len 1) { - zend_hash_destroy(tmp_hash); - RETURN_FALSE; - } - zend_hash_add(tmp_hash, string_key, string_key_len, entry, sizeof(zval*), NULL); - if (len maxlen) { - maxlen = len; - } - if (len minlen) { - minlen = len; - } - break; + HASHres = 0; + int i; + for (i = 0; i len; i++) { + res = (res 5) + res + (unsigned char)str[i]; + } - case HASH_KEY_IS_LONG: -
[PHP-CVS] com php-src: UPGRADING.INTERNALS: document zend_qsort_r: UPGRADING.INTERNALS
Commit:70b25e9c61c849e590cc97137e893678cb5f98c3 Author:Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 17:27:20 +0100 Parents: 22390d33935d72d897a1c97158ce2848f8551cc1 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=70b25e9c61c849e590cc97137e893678cb5f98c3 Log: UPGRADING.INTERNALS: document zend_qsort_r Changed paths: M UPGRADING.INTERNALS Diff: diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 90c7a43..44cdfae 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -5,6 +5,7 @@ UPGRADE NOTES - PHP X.Y 1. Internal API changes a. Streams pooling API b. Lowercasing and locales + c. zend_qsort_r 2. Build system changes a. Unix build system changes @@ -53,6 +54,16 @@ such as strcasecmp, will be using locale rules. Two new functions - zend_binary_strncasecmp_l and zend_binary_strcasecmp_l - added as locale-based counterparts to zend_binary_strcasecmp and zend_binary_strncasecmp. + c. zend_qsort_r + +Added the function zend_qsort_r(): + +typedef int (*compare_r_func_t)(const void *, const void * TSRMLS_DC, void *); +void zend_qsort_r(void *base, size_t nmemb, size_t siz, compare_r_func_t compare, void *arg TSRMLS_DC); + +The extra argument it has (relatively to zend_qsort()) is passed to the +comparison function. + 2. Build system changes -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: ext/standard/string.c
Commit:1ce5a225899c19b79c64451e830cd3940ee2bff3 Author:Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 17:19:23 +0100 Parents: be07f815f240803fe7a48a5fb3d68a169bef4707 200242595dabfdaf6093da3e9ae6fef246ea8906 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1ce5a225899c19b79c64451e830cd3940ee2bff3 Log: Merge branch 'PHP-5.4' into PHP-5.5 Conflicts: NEWS Changed paths: MM ext/standard/string.c Diff: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: NEWS for bug #63893: NEWS
Commit:200242595dabfdaf6093da3e9ae6fef246ea8906 Author:Gustavo Lopes gust...@icemobile.com Mon, 14 Jan 2013 17:17:58 +0100 Parents: d7bac4f5ba17c6fba00943a8bada49a4735a15a6 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=200242595dabfdaf6093da3e9ae6fef246ea8906 Log: NEWS for bug #63893 Bugs: https://bugs.php.net/63893 Changed paths: M NEWS Diff: diff --git a/NEWS b/NEWS index 28040f7..418bcc9 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ PHP NEWS protected property). (Stas) . Fixed bug #63943 (Bad warning text from strpos() on empty needle). (Laruence) + . Fixed bug #63893 (poor efficiency of strtr() using array with keys of very +different length). (Gustavo) . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) - Litespeed: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Dereferencing process-handles no longer waits on those processes.: NEWS ext/standard/file.c ext/standard/file.h ext/standard/proc_open.c
Commit:dba22c08640b02e68bfea68440246fec1fb7459d Author:Jille Timmermans ji...@quis.cx Tue, 15 Jan 2013 11:25:55 +0100 Committer: Lars Strojny lstro...@php.net Tue, 15 Jan 2013 21:50:35 +0100 Parents: 1bd193ed36d413f0d919856f65feb35a0b1580f3 Branches: PHP-5.5 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=dba22c08640b02e68bfea68440246fec1fb7459d Log: Dereferencing process-handles no longer waits on those processes. Implements FR #46487 Bugs: https://bugs.php.net/46487 Changed paths: M NEWS M ext/standard/file.c M ext/standard/file.h M ext/standard/proc_open.c Diff: diff --git a/NEWS b/NEWS index 4145dc5..212029c 100644 --- a/NEWS +++ b/NEWS @@ -247,4 +247,7 @@ PHP NEWS . Fixed bug #63248 (Load multiple magic files from a directory under Windows). (Anatoliy) +- General improvements: + . Implemented FR #46487 (Dereferencing process-handles no longer waits on those processes). (Jille Timmermans) + NOTE: Insert NEWS from last stable release here prior to actual release! diff --git a/ext/standard/file.c b/ext/standard/file.c index 74577ac..cf8b159 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -159,6 +159,7 @@ static ZEND_RSRC_DTOR_FUNC(file_context_dtor) static void file_globals_ctor(php_file_globals *file_globals_p TSRMLS_DC) { FG(pclose_ret) = 0; + FG(pclose_wait) = 0; FG(user_stream_current_filename) = NULL; FG(def_chunk_size) = PHP_SOCK_CHUNK_SIZE; FG(wrapper_errors) = NULL; @@ -960,7 +961,9 @@ PHP_FUNCTION(pclose) PHP_STREAM_TO_ZVAL(stream, arg1); + FG(pclose_wait) = 1; zend_list_delete(stream-rsrc_id); + FG(pclose_wait) = 0; RETURN_LONG(FG(pclose_ret)); } /* }}} */ diff --git a/ext/standard/file.h b/ext/standard/file.h index 0a4512e..2bcdfd6 100644 --- a/ext/standard/file.h +++ b/ext/standard/file.h @@ -115,7 +115,7 @@ typedef struct _php_meta_tags_data { php_meta_tags_token php_next_meta_token(php_meta_tags_data * TSRMLS_DC); typedef struct { - int pclose_ret; + int pclose_ret; size_t def_chunk_size; long auto_detect_line_endings; long default_socket_timeout; @@ -126,6 +126,7 @@ typedef struct { HashTable *stream_wrappers; /* per-request copy of url_stream_wrappers_hash */ HashTable *stream_filters; /* per-request copy of stream_filters_hash */ HashTable *wrapper_errors; /* key: wrapper address; value: linked list of char* */ + int pclose_wait; } php_file_globals; #ifdef ZTS diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c index 1edfe78..4e39a40 100644 --- a/ext/standard/proc_open.c +++ b/ext/standard/proc_open.c @@ -208,6 +208,7 @@ static void proc_open_rsrc_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC) DWORD wstatus; #elif HAVE_SYS_WAIT_H int wstatus; + int waitpid_options = 0; pid_t wait_pid; #endif @@ -220,18 +221,27 @@ static void proc_open_rsrc_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC) } #ifdef PHP_WIN32 - WaitForSingleObject(proc-childHandle, INFINITE); + if (FG(pclose_wait)) { + WaitForSingleObject(proc-childHandle, INFINITE); + } GetExitCodeProcess(proc-childHandle, wstatus); - FG(pclose_ret) = wstatus; + if (wstatus == STILL_ACTIVE) { + FG(pclose_ret) = -1; + } else { + FG(pclose_ret) = wstatus; + } CloseHandle(proc-childHandle); #elif HAVE_SYS_WAIT_H + if (!FG(pclose_wait)) { + waitpid_options = WNOHANG; + } do { - wait_pid = waitpid(proc-child, wstatus, 0); + wait_pid = waitpid(proc-child, wstatus, waitpid_options); } while (wait_pid == -1 errno == EINTR); - if (wait_pid == -1) { + if (wait_pid = 0) { FG(pclose_ret) = -1; } else { if (WIFEXITED(wstatus)) @@ -300,7 +310,9 @@ PHP_FUNCTION(proc_close) ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, zproc, -1, process, le_proc_open); + FG(pclose_wait) = 1; zend_list_delete(Z_LVAL_P(zproc)); + FG(pclose_wait) = 0; RETURN_LONG(FG(pclose_ret)); } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: fixed build: ext/standard/string.c
Commit:9498cf6194496a1dd6b400e3e9a85ff005dc3dcd Author:Anatoliy Belsky a...@php.net Tue, 15 Jan 2013 22:36:29 +0100 Parents: 4c38003dbdbb5b66c9d61db4cfd3248d15c93729 Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=9498cf6194496a1dd6b400e3e9a85ff005dc3dcd Log: fixed build Changed paths: M ext/standard/string.c Diff: diff --git a/ext/standard/string.c b/ext/standard/string.c index 58b5483..42bf198 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -23,7 +23,11 @@ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ #include stdio.h -#include stdint.h +#ifdef PHP_WIN32 +# include win32/php_stdint.h +#else +# include stdint.h +#endif #include php.h #include php_rand.h #include php_string.h -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: ext/standard/string.c
Commit:18e160411e364ee02eff12e8ab516be9911be393 Author:Anatoliy Belsky a...@php.net Tue, 15 Jan 2013 22:39:49 +0100 Parents: dba22c08640b02e68bfea68440246fec1fb7459d 9498cf6194496a1dd6b400e3e9a85ff005dc3dcd Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=18e160411e364ee02eff12e8ab516be9911be393 Log: Merge branch 'PHP-5.4' into PHP-5.5 * PHP-5.4: fixed build NEWS for bug #63893 Conflicts: NEWS Bugs: https://bugs.php.net/63893 Changed paths: MM ext/standard/string.c Diff: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: - Fixed ZTS build: ext/date/php_date.c
Commit:7629c8db401b3695348d26c0785c9ab4b7e6ebb1 Author:Felipe Pena felipe...@gmail.com Tue, 15 Jan 2013 19:45:09 -0200 Parents: 85a949d9d4c5b216d6581f62df6b7d5b4787c130 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7629c8db401b3695348d26c0785c9ab4b7e6ebb1 Log: - Fixed ZTS build Changed paths: M ext/date/php_date.c Diff: diff --git a/ext/date/php_date.c b/ext/date/php_date.c index cc83130..54dc2f5 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2066,12 +2066,12 @@ static zend_object_value date_object_clone_date(zval *this_ptr TSRMLS_DC) return new_ov; } -static zval* date_clone_immutable(zval *object) +static zval* date_clone_immutable(zval *object TSRMLS_DC) { zval *new_object; ALLOC_ZVAL(new_object); - Z_OBJVAL_P(new_object) = date_object_clone_date(object); + Z_OBJVAL_P(new_object) = date_object_clone_date(object TSRMLS_CC); Z_SET_REFCOUNT_P(new_object, 1); Z_SET_ISREF_P(new_object); Z_TYPE_P(new_object) = IS_OBJECT; @@ -2970,7 +2970,7 @@ PHP_METHOD(DateTimeImmutable, modify) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_modify(new_object, modify, modify_len, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3037,7 +3037,7 @@ PHP_METHOD(DateTimeImmutable, add) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_add(new_object, interval, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3107,7 +3107,7 @@ PHP_METHOD(DateTimeImmutable, sub) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_sub(new_object, interval, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3197,7 +3197,7 @@ PHP_METHOD(DateTimeImmutable, setTimezone) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_timezone_set(new_object, timezone_object, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3280,7 +3280,7 @@ PHP_METHOD(DateTimeImmutable, setTime) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_time_set(new_object, h, i, s, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3328,7 +3328,7 @@ PHP_METHOD(DateTimeImmutable, setDate) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_date_set(new_object, y, m, d, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3380,7 +3380,7 @@ PHP_METHOD(DateTimeImmutable, setISODate) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_isodate_set(new_object, y, w, d, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3426,7 +3426,7 @@ PHP_METHOD(DateTimeImmutable, setTimestamp) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_timestamp_set(new_object, timestamp, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: - Fixed ZTS build: ext/date/php_date.c
Commit:2f7aafe9929d843ae089a7072c5e6d9bd70c77ae Author:Felipe Pena felipe...@gmail.com Tue, 15 Jan 2013 19:59:23 -0200 Parents: 18e160411e364ee02eff12e8ab516be9911be393 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2f7aafe9929d843ae089a7072c5e6d9bd70c77ae Log: - Fixed ZTS build Changed paths: M ext/date/php_date.c Diff: diff --git a/ext/date/php_date.c b/ext/date/php_date.c index cc83130..54dc2f5 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2066,12 +2066,12 @@ static zend_object_value date_object_clone_date(zval *this_ptr TSRMLS_DC) return new_ov; } -static zval* date_clone_immutable(zval *object) +static zval* date_clone_immutable(zval *object TSRMLS_DC) { zval *new_object; ALLOC_ZVAL(new_object); - Z_OBJVAL_P(new_object) = date_object_clone_date(object); + Z_OBJVAL_P(new_object) = date_object_clone_date(object TSRMLS_CC); Z_SET_REFCOUNT_P(new_object, 1); Z_SET_ISREF_P(new_object); Z_TYPE_P(new_object) = IS_OBJECT; @@ -2970,7 +2970,7 @@ PHP_METHOD(DateTimeImmutable, modify) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_modify(new_object, modify, modify_len, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3037,7 +3037,7 @@ PHP_METHOD(DateTimeImmutable, add) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_add(new_object, interval, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3107,7 +3107,7 @@ PHP_METHOD(DateTimeImmutable, sub) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_sub(new_object, interval, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3197,7 +3197,7 @@ PHP_METHOD(DateTimeImmutable, setTimezone) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_timezone_set(new_object, timezone_object, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3280,7 +3280,7 @@ PHP_METHOD(DateTimeImmutable, setTime) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_time_set(new_object, h, i, s, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3328,7 +3328,7 @@ PHP_METHOD(DateTimeImmutable, setDate) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_date_set(new_object, y, m, d, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3380,7 +3380,7 @@ PHP_METHOD(DateTimeImmutable, setISODate) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_isodate_set(new_object, y, w, d, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); @@ -3426,7 +3426,7 @@ PHP_METHOD(DateTimeImmutable, setTimestamp) RETURN_FALSE; } - new_object = date_clone_immutable(object); + new_object = date_clone_immutable(object TSRMLS_CC); php_date_timestamp_set(new_object, timestamp, return_value TSRMLS_CC); RETURN_ZVAL(new_object, 0, 1); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Update the arguments in the prototype of fpm_socket_unix_test_connect().: NEWS sapi/fpm/fpm/fpm_sockets.h
Commit:f63a9f6c11c05aa76158b6cae0e05340d303a6af Author:Adam Harvey ahar...@php.net Wed, 16 Jan 2013 10:06:56 +0800 Parents: c077074c1379b5faed386106fdbb53f5d17fd6e7 Branches: PHP-5.3 PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=f63a9f6c11c05aa76158b6cae0e05340d303a6af Log: Update the arguments in the prototype of fpm_socket_unix_test_connect(). Fixes bug #63999 (php with fpm fails to build on Solaris 10 or 11). Bugs: https://bugs.php.net/63999 Changed paths: M NEWS M sapi/fpm/fpm/fpm_sockets.h Diff: diff --git a/NEWS b/NEWS index e78af23..928d829 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,9 @@ PHP NEWS . Fixed bug #55397 (comparsion of incomplete DateTime causes SIGSEGV). (Laruence, Derick) +- FPM: + . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam) + 20 Dec 2012, PHP 5.3.20 - Zend Engine: diff --git a/sapi/fpm/fpm/fpm_sockets.h b/sapi/fpm/fpm/fpm_sockets.h index 499ba6b..cce5712 100644 --- a/sapi/fpm/fpm/fpm_sockets.h +++ b/sapi/fpm/fpm/fpm_sockets.h @@ -25,7 +25,7 @@ enum fpm_address_domain fpm_sockets_domain_from_address(char *addr); int fpm_sockets_init_main(); int fpm_socket_get_listening_queue(int sock, unsigned *cur_lq, unsigned *max_lq); -int fpm_socket_unix_test_connect(struct sockaddr_un *sun, size_t socklen); +int fpm_socket_unix_test_connect(struct sockaddr_un *sock, size_t socklen); static inline int fd_set_blocked(int fd, int blocked) /* {{{ */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.3' into PHP-5.4: NEWS
Commit:142c40f32c075a8eb706f2e630b934f39e711b70 Author:Adam Harvey ahar...@php.net Wed, 16 Jan 2013 10:18:00 +0800 Parents: 9498cf6194496a1dd6b400e3e9a85ff005dc3dcd f63a9f6c11c05aa76158b6cae0e05340d303a6af Branches: PHP-5.4 PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=142c40f32c075a8eb706f2e630b934f39e711b70 Log: Merge branch 'PHP-5.3' into PHP-5.4 * PHP-5.3: Update the arguments in the prototype of fpm_socket_unix_test_connect(). Changed paths: MM NEWS Diff: diff --cc NEWS index bcff155,928d829..8fc3d6c --- a/NEWS +++ b/NEWS @@@ -1,58 -1,17 +1,61 @@@ PHP NEWS ||| -?? ??? 2013, PHP 5.3.23 +?? ??? 2012, PHP 5.4.12 -?? ??? 2013, PHP 5.3.22 - -- Zend Engine: +- Core: + . Fixed bug #63982 (isset() inconsistently produces a fatal error on +protected property). (Stas) + . Fixed bug #63943 (Bad warning text from strpos() on empty needle). +(Laruence) . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) + . Fixed bug #63893 (Poor efficiency of strtr() using array with keys of very +different length). (Gustavo) + . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) + . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) + +- Date: + . Fixed bug #63699 (Performance improvements for various ext/date functions). +(Lars, original patch by njaguar at gmail dot com) + . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. +(Derick) + ++- FPM: ++ . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam) ++ +- Litespeed: + . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) + +- ext/sqlite3: + . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't +using sqlite3_*_int64 API). (srgoogleguy, Lars) + +- PDO_sqlite: + . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even +on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) + . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence) + . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long +testsuite). (hswong3i, Lars) + +?? ??? 2012, PHP 5.4.11 + +- Core: . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). (Johannes) + . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). +(Todd Ruth, Stas). -- Core - . Fixed bug #63943 (Bad warning text from strpos() on empty needle). -(Laruence) +- Filter: + . Fixed bug #63757 (getenv() produces memory leak with CGI SAPI). (Dmitry) + . Fixed bug #54096 (FILTER_VALIDATE_INT does not accept +0 and -0). +(martin at divbyzero dot net, Lars) + +- JSON: + . Fixed bug #63737 (json_decode does not properly decode with options +parameter). (Adam) + +- CLI server + . Update list of common mime types. Added webm, ogv, ogg. (Lars, +pascalc at gmail dot com) - cURL extension: . Fixed bug (segfault due to libcurl connection caching). (Pierrick) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Merge branch 'PHP-5.4' into PHP-5.5: NEWS
Commit:77010bf9bf45c46d844b336c18cc8102cfc7e249 Author:Adam Harvey ahar...@php.net Wed, 16 Jan 2013 10:19:13 +0800 Parents: 2f7aafe9929d843ae089a7072c5e6d9bd70c77ae 142c40f32c075a8eb706f2e630b934f39e711b70 Branches: PHP-5.5 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=77010bf9bf45c46d844b336c18cc8102cfc7e249 Log: Merge branch 'PHP-5.4' into PHP-5.5 * PHP-5.4: Update the arguments in the prototype of fpm_socket_unix_test_connect(). Changed paths: MM NEWS Diff: diff --cc NEWS index 212029c,8fc3d6c..6395b34 --- a/NEWS +++ b/NEWS @@@ -1,63 -1,106 +1,66 @@@ PHP NEWS ||| -?? ??? 2012, PHP 5.4.12 +?? ??? 201?, PHP 5.5.0 Alpha 3 - Core: - . Fixed bug #63982 (isset() inconsistently produces a fatal error on -protected property). (Stas) - . Fixed bug #63943 (Bad warning text from strpos() on empty needle). -(Laruence) - . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) - . Fixed bug #63893 (Poor efficiency of strtr() using array with keys of very -different length). (Gustavo) - . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) - . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) - -- Date: - . Fixed bug #63699 (Performance improvements for various ext/date functions). -(Lars, original patch by njaguar at gmail dot com) - . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. -(Derick) - -- FPM: - . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam) - -- Litespeed: - . Fixed bug #63228 (-Werror=format-security error in lsapi code). (George) - -- ext/sqlite3: - . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't -using sqlite3_*_int64 API). (srgoogleguy, Lars) - -- PDO_sqlite: - . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even -on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) - . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence) - . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long -testsuite). (hswong3i, Lars) + . Fixed bug #63980 (object members get trimmed by zero bytes). (Laruence) -?? ??? 2012, PHP 5.4.11 - -- Core: - . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). -(Johannes) - . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). -(Todd Ruth, Stas). - -- Filter: - . Fixed bug #63757 (getenv() produces memory leak with CGI SAPI). (Dmitry) - . Fixed bug #54096 (FILTER_VALIDATE_INT does not accept +0 and -0). -(martin at divbyzero dot net, Lars) - -- JSON: - . Fixed bug #63737 (json_decode does not properly decode with options -parameter). (Adam) - -- CLI server - . Update list of common mime types. Added webm, ogv, ogg. (Lars, -pascalc at gmail dot com) +- General improvements: + . Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc). (Pierrick) + . Fixed bug #63822 (Crash when using closures with ArrayAccess). +(Nikita Popov) + . Add Generator::throw() method. (Nikita Popov) + . Bug #23955: allow specifying Max-Age attribute in setcookie() (narfbg, Lars) + . Bug #52126: timestamp for mail.log (Martin Jansen, Lars) -- cURL extension: - . Fixed bug (segfault due to libcurl connection caching). (Pierrick) - . Fixed bug #63859 (Memory leak when reusing curl-handle). (Pierrick) - . Fixed bug #63795 (CURL = 7.28.0 no longer support value 1 for -CURLOPT_SSL_VERIFYHOST). (Pierrick) - . Fixed bug #63352 (Can't enable hostname validation when using curl stream -wrappers). (Pierrick) - . Fixed bug #55438 (Curlwapper is not sending http header randomly). -(php...@lostreality.org, Pierrick) +- mysqlnd + . Fixed return value of mysqli_stmt_affected_rows() in the time after +prepare() and before execute(). (Andrey) -20 Dec 2012, PHP 5.4.10 +- cURL: + . Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror +curl_pause, curl_reset, curl_share_close, curl_share_init, + curl_share_setopt curl_strerror and curl_unescape. (Pierrick) + . Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, +CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, + CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL. (Pierrick) -- Core: - . Fixed bug #63726 (Memleak with static properties and internal/user -classes). (Laruence) - . Fixed bug #63635 (Segfault in gc_collect_cycles). (Dmitry) - . Fixed bug #63512 (parse_ini_file() with INI_SCANNER_RAW removes quotes -from value). (Pierrick) - . Fixed bug #63468 (wrong called method as callback with inheritance). -(Laruence) - . Fixed bug #63451 (config.guess file does not have AIX 7
[PHP-CVS] com php-src: Fix News: NEWS
Commit:94a4e0f8235b165b0b72f91656db1f4059e8c176 Author:Christopher Jones s...@php.net Tue, 15 Jan 2013 20:38:24 -0800 Parents: 142c40f32c075a8eb706f2e630b934f39e711b70 Branches: PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=94a4e0f8235b165b0b72f91656db1f4059e8c176 Log: Fix News Changed paths: M NEWS Diff: diff --git a/NEWS b/NEWS index 8fc3d6c..a10ef4e 100644 --- a/NEWS +++ b/NEWS @@ -29,13 +29,15 @@ PHP NEWS . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't using sqlite3_*_int64 API). (srgoogleguy, Lars) -- PDO_sqlite: - . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even -on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) +- PDO_OCI . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence) . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long testsuite). (hswong3i, Lars) +- PDO_sqlite: + . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even +on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) + ?? ??? 2012, PHP 5.4.11 - Core: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: 5.4.11: NEWS configure.in main/php_version.h
Commit:d224386bd8424345a5178b5ba0c9c881e83c7fe0 Author:Stanislav Malyshev s...@php.net Tue, 15 Jan 2013 12:10:47 -0800 Parents: 9ef52cac0542098f4b8dd7c556a6e900bfd2b0f3 Branches: PHP-5.4.11 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d224386bd8424345a5178b5ba0c9c881e83c7fe0 Log: 5.4.11 Changed paths: M NEWS M configure.in M main/php_version.h Diff: diff --git a/NEWS b/NEWS index 444a68e..b324632 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ PHPNEWS ||| -03 Jan 2013, PHP 5.4.11 RC1 +17 Jan 2013, PHP 5.4.11 - Core: . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). diff --git a/configure.in b/configure.in index 47a9848..a4730c8 100644 --- a/configure.in +++ b/configure.in @@ -120,7 +120,7 @@ int zend_sprintf(char *buffer, const char *format, ...); PHP_MAJOR_VERSION=5 PHP_MINOR_VERSION=4 PHP_RELEASE_VERSION=11 -PHP_EXTRA_VERSION=RC1 +PHP_EXTRA_VERSION= PHP_VERSION=$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 1 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION` diff --git a/main/php_version.h b/main/php_version.h index c179a01..cf6f240 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -3,6 +3,6 @@ #define PHP_MAJOR_VERSION 5 #define PHP_MINOR_VERSION 4 #define PHP_RELEASE_VERSION 11 -#define PHP_EXTRA_VERSION RC1 -#define PHP_VERSION 5.4.11RC1 +#define PHP_EXTRA_VERSION +#define PHP_VERSION 5.4.11 #define PHP_VERSION_ID 50411 -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] tag php-src: create tag php-5.4.11
Tag php-5.4.11 in php-src.git was created Tag: 663d9f78a986a6f49a3247f0724dd617bfda9ee7 Tagger: Stanislav Malyshevs...@php.net Tue Jan 15 23:10:55 2013 -0800 Log: 5.4.11 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (Darwin) iF4EABEIAAYFAlD2UoQACgkQL3lWvF2gS13i7wD9Hvy4OIcSM8upWKdSTaeQc77g Jt7zCdSZGA0C1R3BBoMA/RdlAcV8wJhiBclOU4CeDQ+lKoxqZoZQY1OUl6ZTjeQa =OTGm -END PGP SIGNATURE- Link: http://git.php.net/?p=php-src.git;a=tag;h=663d9f78a986a6f49a3247f0724dd617bfda9ee7 Target: d224386bd8424345a5178b5ba0c9c881e83c7fe0 Author: Stanislav Malyshev s...@php.net Tue, 15 Jan 2013 12:10:47 -0800 Parents: 9ef52cac0542098f4b8dd7c556a6e900bfd2b0f3 Target link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d224386bd8424345a5178b5ba0c9c881e83c7fe0 Target log: 5.4.11 Changed paths: M NEWS M configure.in M main/php_version.h -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php