[PHP-CVS] com php-src: fix NEWS: NEWS

2013-01-15 Thread Stanislav Malyshev
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

2013-01-15 Thread Stanislav Malyshev
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/

2013-01-15 Thread Lars Strojny
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

2013-01-15 Thread Andrey Hristov
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_

2013-01-15 Thread Andrey Hristov
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Andrey Hristov
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

2013-01-15 Thread Andrey Hristov
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

2013-01-15 Thread Andrey Hristov
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

2013-01-15 Thread Andrey Hristov
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Gustavo André dos Santos Lopes
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

2013-01-15 Thread Lars Strojny
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

2013-01-15 Thread Anatoliy Belsky
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

2013-01-15 Thread Anatoliy Belsky
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

2013-01-15 Thread Felipe Pena
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

2013-01-15 Thread Felipe Pena
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Adam Harvey
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

2013-01-15 Thread Christopher Jones
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

2013-01-15 Thread Stanislav Malyshev
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

2013-01-15 Thread Stanislav Malyshev
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