[PHP-CVS] svn: /php/php-src/trunk/win32/build/ config.w32
pajoye Thu, 29 Apr 2010 08:13:15 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298759 Log: - Adieu VC6/7/8, merci pour les bons et loyaux services Changed paths: U php/php-src/trunk/win32/build/config.w32 Modified: php/php-src/trunk/win32/build/config.w32 === --- php/php-src/trunk/win32/build/config.w322010-04-29 06:58:25 UTC (rev 298758) +++ php/php-src/trunk/win32/build/config.w322010-04-29 08:13:15 UTC (rev 298759) @@ -19,6 +19,11 @@ // Which version of the compiler do we have? VCVERS = probe_binary(CL).substr(0, 5).replace('.', ''); STDOUT.WriteLine( Detected compiler + VC_VERSIONS[VCVERS]); + +if (VCVERS 1500) { + ERROR(Unsupported MS C++ Compiler, VC9 (2008) minimum is required); +} + AC_DEFINE('COMPILER', VC_VERSIONS[VCVERS], Detected compiler version); DEFINE(PHP_COMPILER_SHORT, VC_VERSIONS_SHORT[VCVERS]); AC_DEFINE('PHP_COMPILER_ID', VC_VERSIONS_SHORT[VCVERS], Compiler compatibility ID); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettext.
Hi Rob, May be I missed the discussion... I'm not sure if it's a good idea to have all this scarp in SVN. Personally, I won't support these DSP files just because I don't use Visual Studio 6.0 to build php. This method was deprecated for ages. I'm also not sure if next php version is going to support VC 6.0 at all. Thanks. Dmitry. Rob Richards wrote: rrichardsWed, 28 Apr 2010 14:41:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298702 Log: revert change #298288: Remove old dsp/dsw/makefile files Bug: http://bugs.php.net/298288 (error getting bug information) Changed paths: A + php/php-src/trunk/ext/bz2/bz2.dsp (from php/php-src/trunk/ext/bz2/bz2.dsp:r298287) A + php/php-src/trunk/ext/ctype/ctype.dsp (from php/php-src/trunk/ext/ctype/ctype.dsp:r298287) A + php/php-src/trunk/ext/curl/curl.dsp (from php/php-src/trunk/ext/curl/curl.dsp:r298287) A + php/php-src/trunk/ext/dba/dba.dsp (from php/php-src/trunk/ext/dba/dba.dsp:r298287) A + php/php-src/trunk/ext/dom/dom.dsp (from php/php-src/trunk/ext/dom/dom.dsp:r298287) A + php/php-src/trunk/ext/exif/exif.dsp (from php/php-src/trunk/ext/exif/exif.dsp:r298287) U php/php-src/trunk/ext/ext_skel_win32.php A + php/php-src/trunk/ext/gd/gd.dsp (from php/php-src/trunk/ext/gd/gd.dsp:r298287) A + php/php-src/trunk/ext/gettext/gettext.dsp (from php/php-src/trunk/ext/gettext/gettext.dsp:r298287) A + php/php-src/trunk/ext/iconv/iconv.dsp (from php/php-src/trunk/ext/iconv/iconv.dsp:r298287) A + php/php-src/trunk/ext/imap/imap.dsp (from php/php-src/trunk/ext/imap/imap.dsp:r298287) A + php/php-src/trunk/ext/interbase/interbase.dsp (from php/php-src/trunk/ext/interbase/interbase.dsp:r298287) A + php/php-src/trunk/ext/json/json.dsp (from php/php-src/trunk/ext/json/json.dsp:r298287) A + php/php-src/trunk/ext/ldap/ldap.dsp (from php/php-src/trunk/ext/ldap/ldap.dsp:r298287) A + php/php-src/trunk/ext/mbstring/mbstring.dsp (from php/php-src/trunk/ext/mbstring/mbstring.dsp:r298287) A + php/php-src/trunk/ext/mcrypt/mcrypt.dsp (from php/php-src/trunk/ext/mcrypt/mcrypt.dsp:r298287) A + php/php-src/trunk/ext/mssql/mssql.dsp (from php/php-src/trunk/ext/mssql/mssql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.dsp (from php/php-src/trunk/ext/mysql/mysql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.mak (from php/php-src/trunk/ext/mysql/mysql.mak:r298287) A + php/php-src/trunk/ext/mysqli/mysqli.dsp (from php/php-src/trunk/ext/mysqli/mysqli.dsp:r298287) A + php/php-src/trunk/ext/oci8/oci8.dsp (from php/php-src/trunk/ext/oci8/oci8.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.dsp (from php/php-src/trunk/ext/openssl/openssl.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.mak (from php/php-src/trunk/ext/openssl/openssl.mak:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.dsp (from php/php-src/trunk/ext/pgsql/pgsql.dsp:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.mak (from php/php-src/trunk/ext/pgsql/pgsql.mak:r298287) A + php/php-src/trunk/ext/pspell/pspell.dsp (from php/php-src/trunk/ext/pspell/pspell.dsp:r298287) A + php/php-src/trunk/ext/shmop/shmop.dsp (from php/php-src/trunk/ext/shmop/shmop.dsp:r298287) A + php/php-src/trunk/ext/simplexml/simplexml.dsp (from php/php-src/trunk/ext/simplexml/simplexml.dsp:r298287) A + php/php-src/trunk/ext/skeleton/skeleton.dsp (from php/php-src/trunk/ext/skeleton/skeleton.dsp:r298287) A + php/php-src/trunk/ext/snmp/snmp.dsp (from php/php-src/trunk/ext/snmp/snmp.dsp:r298287) A + php/php-src/trunk/ext/soap/php_soap.dsp (from php/php-src/trunk/ext/soap/php_soap.dsp:r298287) A + php/php-src/trunk/ext/sockets/sockets.dsp (from php/php-src/trunk/ext/sockets/sockets.dsp:r298287) A + php/php-src/trunk/ext/sqlite/sqlite.dsp (from php/php-src/trunk/ext/sqlite/sqlite.dsp:r298287) A + php/php-src/trunk/ext/sybase_ct/sybase_ct.dsp (from php/php-src/trunk/ext/sybase_ct/sybase_ct.dsp:r298287) A + php/php-src/trunk/ext/tidy/tidy.dsp (from php/php-src/trunk/ext/tidy/tidy.dsp:r298287) A + php/php-src/trunk/ext/tokenizer/tokenizer.dsp (from php/php-src/trunk/ext/tokenizer/tokenizer.dsp:r298287) A + php/php-src/trunk/ext/xml/xml.mak (from php/php-src/trunk/ext/xml/xml.mak:r298287) A + php/php-src/trunk/ext/xmlreader/xmlreader.dsp (from php/php-src/trunk/ext/xmlreader/xmlreader.dsp:r298287) A + php/php-src/trunk/ext/xmlrpc/xmlrpc.dsp (from php/php-src/trunk/ext/xmlrpc/xmlrpc.dsp:r298287) A + php/php-src/trunk/ext/xmlwriter/xmlwriter.dsp (from php/php-src/trunk/ext/xmlwriter/xmlwriter.dsp:r298287) A +
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettex
On Thu, Apr 29, 2010 at 10:23 AM, Dmitry Stogov dmi...@zend.com wrote: Hi Rob, May be I missed the discussion... I'm not sure if it's a good idea to have all this scarp in SVN. Personally, I won't support these DSP files just because I don't use Visual Studio 6.0 to build php. This method was deprecated for ages. I'm also not sure if next php version is going to support VC 6.0 at all. PHP next won't support anything below VC9. However these files are not used to build PHP but to ease debugging. I don't use them but some does and find them useful. I don't have a strong opinion on that, so feel free to keep or remove them, but take a decision once (I hate to do svn update after they are restored :). Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettext.
Hi Dmitry, The discussion was a while ago (Steph was working on a way to autogenerate them at the time). Unfortunately it failed miserably (buildconf error'd out) when I tried to use it (tried it after the dsps had been removed). Until that is working (or some other mechanism is in place to generate them), I see no reason to remove them. They easily convert to newer VS versions so not specifically for VC6. The project files are nice to have around for simple organization/access in VS especially since we already have them, so its not so much about using them to make a build as it is for the VS integration. Rob Hi Rob, May be I missed the discussion... I'm not sure if it's a good idea to have all this scarp in SVN. Personally, I won't support these DSP files just because I don't use Visual Studio 6.0 to build php. This method was deprecated for ages. I'm also not sure if next php version is going to support VC 6.0 at all. Thanks. Dmitry. Rob Richards wrote: rrichardsWed, 28 Apr 2010 14:41:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298702 Log: revert change #298288: Remove old dsp/dsw/makefile files Bug: http://bugs.php.net/298288 (error getting bug information) Changed paths: A + php/php-src/trunk/ext/bz2/bz2.dsp (from php/php-src/trunk/ext/bz2/bz2.dsp:r298287) A + php/php-src/trunk/ext/ctype/ctype.dsp (from php/php-src/trunk/ext/ctype/ctype.dsp:r298287) A + php/php-src/trunk/ext/curl/curl.dsp (from php/php-src/trunk/ext/curl/curl.dsp:r298287) A + php/php-src/trunk/ext/dba/dba.dsp (from php/php-src/trunk/ext/dba/dba.dsp:r298287) A + php/php-src/trunk/ext/dom/dom.dsp (from php/php-src/trunk/ext/dom/dom.dsp:r298287) A + php/php-src/trunk/ext/exif/exif.dsp (from php/php-src/trunk/ext/exif/exif.dsp:r298287) U php/php-src/trunk/ext/ext_skel_win32.php A + php/php-src/trunk/ext/gd/gd.dsp (from php/php-src/trunk/ext/gd/gd.dsp:r298287) A + php/php-src/trunk/ext/gettext/gettext.dsp (from php/php-src/trunk/ext/gettext/gettext.dsp:r298287) A + php/php-src/trunk/ext/iconv/iconv.dsp (from php/php-src/trunk/ext/iconv/iconv.dsp:r298287) A + php/php-src/trunk/ext/imap/imap.dsp (from php/php-src/trunk/ext/imap/imap.dsp:r298287) A + php/php-src/trunk/ext/interbase/interbase.dsp (from php/php-src/trunk/ext/interbase/interbase.dsp:r298287) A + php/php-src/trunk/ext/json/json.dsp (from php/php-src/trunk/ext/json/json.dsp:r298287) A + php/php-src/trunk/ext/ldap/ldap.dsp (from php/php-src/trunk/ext/ldap/ldap.dsp:r298287) A + php/php-src/trunk/ext/mbstring/mbstring.dsp (from php/php-src/trunk/ext/mbstring/mbstring.dsp:r298287) A + php/php-src/trunk/ext/mcrypt/mcrypt.dsp (from php/php-src/trunk/ext/mcrypt/mcrypt.dsp:r298287) A + php/php-src/trunk/ext/mssql/mssql.dsp (from php/php-src/trunk/ext/mssql/mssql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.dsp (from php/php-src/trunk/ext/mysql/mysql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.mak (from php/php-src/trunk/ext/mysql/mysql.mak:r298287) A + php/php-src/trunk/ext/mysqli/mysqli.dsp (from php/php-src/trunk/ext/mysqli/mysqli.dsp:r298287) A + php/php-src/trunk/ext/oci8/oci8.dsp (from php/php-src/trunk/ext/oci8/oci8.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.dsp (from php/php-src/trunk/ext/openssl/openssl.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.mak (from php/php-src/trunk/ext/openssl/openssl.mak:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.dsp (from php/php-src/trunk/ext/pgsql/pgsql.dsp:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.mak (from php/php-src/trunk/ext/pgsql/pgsql.mak:r298287) A + php/php-src/trunk/ext/pspell/pspell.dsp (from php/php-src/trunk/ext/pspell/pspell.dsp:r298287) A + php/php-src/trunk/ext/shmop/shmop.dsp (from php/php-src/trunk/ext/shmop/shmop.dsp:r298287) A + php/php-src/trunk/ext/simplexml/simplexml.dsp (from php/php-src/trunk/ext/simplexml/simplexml.dsp:r298287) A + php/php-src/trunk/ext/skeleton/skeleton.dsp (from php/php-src/trunk/ext/skeleton/skeleton.dsp:r298287) A + php/php-src/trunk/ext/snmp/snmp.dsp (from php/php-src/trunk/ext/snmp/snmp.dsp:r298287) A + php/php-src/trunk/ext/soap/php_soap.dsp (from php/php-src/trunk/ext/soap/php_soap.dsp:r298287) A + php/php-src/trunk/ext/sockets/sockets.dsp (from php/php-src/trunk/ext/sockets/sockets.dsp:r298287) A + php/php-src/trunk/ext/sqlite/sqlite.dsp (from php/php-src/trunk/ext/sqlite/sqlite.dsp:r298287) A + php/php-src/trunk/ext/sybase_ct/sybase_ct.dsp (from php/php-src/trunk/ext/sybase_ct/sybase_ct.dsp:r298287) A + php/php-src/trunk/ext/tidy/tidy.dsp (from
Re: [PHP-CVS] svn: /php/php-src/trunk/win32/build/ config.w32
On Thu, Apr 29, 2010 at 10:13, Pierre Joye paj...@php.net wrote: pajoye Thu, 29 Apr 2010 08:13:15 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298759 Log: - Adieu VC6/7/8, merci pour les bons et loyaux services In the offchance that some people actually do build PHP on windows themselfs, I think this deserves an entry in the upgrade guide. -Hannes -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/trunk/win32/build/ config.w32
On Thu, Apr 29, 2010 at 10:45 AM, Hannes Magnusson hannes.magnus...@gmail.com wrote: On Thu, Apr 29, 2010 at 10:13, Pierre Joye paj...@php.net wrote: pajoye Thu, 29 Apr 2010 08:13:15 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298759 Log: - Adieu VC6/7/8, merci pour les bons et loyaux services In the offchance that some people actually do build PHP on windows themselfs, I think this deserves an entry in the upgrade guide. Yes, that's coming too. Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettext.
Hi Rob, The problem is not to have them. The problem is to keep them in consistency in case someone adds/removes a file. I like the idea of automatic generation much more. Thanks. Dmitry. Rob Richards wrote: Hi Dmitry, The discussion was a while ago (Steph was working on a way to autogenerate them at the time). Unfortunately it failed miserably (buildconf error'd out) when I tried to use it (tried it after the dsps had been removed). Until that is working (or some other mechanism is in place to generate them), I see no reason to remove them. They easily convert to newer VS versions so not specifically for VC6. The project files are nice to have around for simple organization/access in VS especially since we already have them, so its not so much about using them to make a build as it is for the VS integration. Rob Hi Rob, May be I missed the discussion... I'm not sure if it's a good idea to have all this scarp in SVN. Personally, I won't support these DSP files just because I don't use Visual Studio 6.0 to build php. This method was deprecated for ages. I'm also not sure if next php version is going to support VC 6.0 at all. Thanks. Dmitry. Rob Richards wrote: rrichardsWed, 28 Apr 2010 14:41:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298702 Log: revert change #298288: Remove old dsp/dsw/makefile files Bug: http://bugs.php.net/298288 (error getting bug information) Changed paths: A + php/php-src/trunk/ext/bz2/bz2.dsp (from php/php-src/trunk/ext/bz2/bz2.dsp:r298287) A + php/php-src/trunk/ext/ctype/ctype.dsp (from php/php-src/trunk/ext/ctype/ctype.dsp:r298287) A + php/php-src/trunk/ext/curl/curl.dsp (from php/php-src/trunk/ext/curl/curl.dsp:r298287) A + php/php-src/trunk/ext/dba/dba.dsp (from php/php-src/trunk/ext/dba/dba.dsp:r298287) A + php/php-src/trunk/ext/dom/dom.dsp (from php/php-src/trunk/ext/dom/dom.dsp:r298287) A + php/php-src/trunk/ext/exif/exif.dsp (from php/php-src/trunk/ext/exif/exif.dsp:r298287) U php/php-src/trunk/ext/ext_skel_win32.php A + php/php-src/trunk/ext/gd/gd.dsp (from php/php-src/trunk/ext/gd/gd.dsp:r298287) A + php/php-src/trunk/ext/gettext/gettext.dsp (from php/php-src/trunk/ext/gettext/gettext.dsp:r298287) A + php/php-src/trunk/ext/iconv/iconv.dsp (from php/php-src/trunk/ext/iconv/iconv.dsp:r298287) A + php/php-src/trunk/ext/imap/imap.dsp (from php/php-src/trunk/ext/imap/imap.dsp:r298287) A + php/php-src/trunk/ext/interbase/interbase.dsp (from php/php-src/trunk/ext/interbase/interbase.dsp:r298287) A + php/php-src/trunk/ext/json/json.dsp (from php/php-src/trunk/ext/json/json.dsp:r298287) A + php/php-src/trunk/ext/ldap/ldap.dsp (from php/php-src/trunk/ext/ldap/ldap.dsp:r298287) A + php/php-src/trunk/ext/mbstring/mbstring.dsp (from php/php-src/trunk/ext/mbstring/mbstring.dsp:r298287) A + php/php-src/trunk/ext/mcrypt/mcrypt.dsp (from php/php-src/trunk/ext/mcrypt/mcrypt.dsp:r298287) A + php/php-src/trunk/ext/mssql/mssql.dsp (from php/php-src/trunk/ext/mssql/mssql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.dsp (from php/php-src/trunk/ext/mysql/mysql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.mak (from php/php-src/trunk/ext/mysql/mysql.mak:r298287) A + php/php-src/trunk/ext/mysqli/mysqli.dsp (from php/php-src/trunk/ext/mysqli/mysqli.dsp:r298287) A + php/php-src/trunk/ext/oci8/oci8.dsp (from php/php-src/trunk/ext/oci8/oci8.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.dsp (from php/php-src/trunk/ext/openssl/openssl.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.mak (from php/php-src/trunk/ext/openssl/openssl.mak:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.dsp (from php/php-src/trunk/ext/pgsql/pgsql.dsp:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.mak (from php/php-src/trunk/ext/pgsql/pgsql.mak:r298287) A + php/php-src/trunk/ext/pspell/pspell.dsp (from php/php-src/trunk/ext/pspell/pspell.dsp:r298287) A + php/php-src/trunk/ext/shmop/shmop.dsp (from php/php-src/trunk/ext/shmop/shmop.dsp:r298287) A + php/php-src/trunk/ext/simplexml/simplexml.dsp (from php/php-src/trunk/ext/simplexml/simplexml.dsp:r298287) A + php/php-src/trunk/ext/skeleton/skeleton.dsp (from php/php-src/trunk/ext/skeleton/skeleton.dsp:r298287) A + php/php-src/trunk/ext/snmp/snmp.dsp (from php/php-src/trunk/ext/snmp/snmp.dsp:r298287) A + php/php-src/trunk/ext/soap/php_soap.dsp (from php/php-src/trunk/ext/soap/php_soap.dsp:r298287) A + php/php-src/trunk/ext/sockets/sockets.dsp (from php/php-src/trunk/ext/sockets/sockets.dsp:r298287) A + php/php-src/trunk/ext/sqlite/sqlite.dsp (from
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettex
On Thu, Apr 29, 2010 at 11:28 AM, Dmitry Stogov dmi...@zend.com wrote: Hi Rob, The problem is not to have them. The problem is to keep them in consistency in case someone adds/removes a file. I like the idea of automatic generation much more. That's what cmake aims to. But having JS code to generate them is a no go as of now (especially with VS2010 having yet another format). -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettext.
Right. My point is only that we keep them around until we can get the automatic generation squared away. Rob Dmitry Stogov wrote: Hi Rob, The problem is not to have them. The problem is to keep them in consistency in case someone adds/removes a file. I like the idea of automatic generation much more. Thanks. Dmitry. Rob Richards wrote: Hi Dmitry, The discussion was a while ago (Steph was working on a way to autogenerate them at the time). Unfortunately it failed miserably (buildconf error'd out) when I tried to use it (tried it after the dsps had been removed). Until that is working (or some other mechanism is in place to generate them), I see no reason to remove them. They easily convert to newer VS versions so not specifically for VC6. The project files are nice to have around for simple organization/access in VS especially since we already have them, so its not so much about using them to make a build as it is for the VS integration. Rob Hi Rob, May be I missed the discussion... I'm not sure if it's a good idea to have all this scarp in SVN. Personally, I won't support these DSP files just because I don't use Visual Studio 6.0 to build php. This method was deprecated for ages. I'm also not sure if next php version is going to support VC 6.0 at all. Thanks. Dmitry. Rob Richards wrote: rrichardsWed, 28 Apr 2010 14:41:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298702 Log: revert change #298288: Remove old dsp/dsw/makefile files Bug: http://bugs.php.net/298288 (error getting bug information) Changed paths: A + php/php-src/trunk/ext/bz2/bz2.dsp (from php/php-src/trunk/ext/bz2/bz2.dsp:r298287) A + php/php-src/trunk/ext/ctype/ctype.dsp (from php/php-src/trunk/ext/ctype/ctype.dsp:r298287) A + php/php-src/trunk/ext/curl/curl.dsp (from php/php-src/trunk/ext/curl/curl.dsp:r298287) A + php/php-src/trunk/ext/dba/dba.dsp (from php/php-src/trunk/ext/dba/dba.dsp:r298287) A + php/php-src/trunk/ext/dom/dom.dsp (from php/php-src/trunk/ext/dom/dom.dsp:r298287) A + php/php-src/trunk/ext/exif/exif.dsp (from php/php-src/trunk/ext/exif/exif.dsp:r298287) U php/php-src/trunk/ext/ext_skel_win32.php A + php/php-src/trunk/ext/gd/gd.dsp (from php/php-src/trunk/ext/gd/gd.dsp:r298287) A + php/php-src/trunk/ext/gettext/gettext.dsp (from php/php-src/trunk/ext/gettext/gettext.dsp:r298287) A + php/php-src/trunk/ext/iconv/iconv.dsp (from php/php-src/trunk/ext/iconv/iconv.dsp:r298287) A + php/php-src/trunk/ext/imap/imap.dsp (from php/php-src/trunk/ext/imap/imap.dsp:r298287) A + php/php-src/trunk/ext/interbase/interbase.dsp (from php/php-src/trunk/ext/interbase/interbase.dsp:r298287) A + php/php-src/trunk/ext/json/json.dsp (from php/php-src/trunk/ext/json/json.dsp:r298287) A + php/php-src/trunk/ext/ldap/ldap.dsp (from php/php-src/trunk/ext/ldap/ldap.dsp:r298287) A + php/php-src/trunk/ext/mbstring/mbstring.dsp (from php/php-src/trunk/ext/mbstring/mbstring.dsp:r298287) A + php/php-src/trunk/ext/mcrypt/mcrypt.dsp (from php/php-src/trunk/ext/mcrypt/mcrypt.dsp:r298287) A + php/php-src/trunk/ext/mssql/mssql.dsp (from php/php-src/trunk/ext/mssql/mssql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.dsp (from php/php-src/trunk/ext/mysql/mysql.dsp:r298287) A + php/php-src/trunk/ext/mysql/mysql.mak (from php/php-src/trunk/ext/mysql/mysql.mak:r298287) A + php/php-src/trunk/ext/mysqli/mysqli.dsp (from php/php-src/trunk/ext/mysqli/mysqli.dsp:r298287) A + php/php-src/trunk/ext/oci8/oci8.dsp (from php/php-src/trunk/ext/oci8/oci8.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.dsp (from php/php-src/trunk/ext/openssl/openssl.dsp:r298287) A + php/php-src/trunk/ext/openssl/openssl.mak (from php/php-src/trunk/ext/openssl/openssl.mak:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.dsp (from php/php-src/trunk/ext/pgsql/pgsql.dsp:r298287) A + php/php-src/trunk/ext/pgsql/pgsql.mak (from php/php-src/trunk/ext/pgsql/pgsql.mak:r298287) A + php/php-src/trunk/ext/pspell/pspell.dsp (from php/php-src/trunk/ext/pspell/pspell.dsp:r298287) A + php/php-src/trunk/ext/shmop/shmop.dsp (from php/php-src/trunk/ext/shmop/shmop.dsp:r298287) A + php/php-src/trunk/ext/simplexml/simplexml.dsp (from php/php-src/trunk/ext/simplexml/simplexml.dsp:r298287) A + php/php-src/trunk/ext/skeleton/skeleton.dsp (from php/php-src/trunk/ext/skeleton/skeleton.dsp:r298287) A + php/php-src/trunk/ext/snmp/snmp.dsp (from php/php-src/trunk/ext/snmp/snmp.dsp:r298287) A + php/php-src/trunk/ext/soap/php_soap.dsp (from php/php-src/trunk/ext/soap/php_soap.dsp:r298287) A + php/php-src/trunk/ext/sockets/sockets.dsp (from
Re: [PHP-CVS] svn: /php/php-src/trunk/ ext/bz2/bz2.dsp ext/ctype/ctype.dsp ext/curl/curl.dsp ext/dba/dba.dsp ext/dom/dom.dsp ext/exif/exif.dsp ext/ext_skel_win32.php ext/gd/gd.dsp ext/gettext/gettext.
On Thu, 29 Apr 2010, Rob Richards wrote: The discussion was a while ago (Steph was working on a way to autogenerate them at the time). Unfortunately it failed miserably (buildconf error'd out) when I tried to use it (tried it after the dsps had been removed). Until that is working (or some other mechanism is in place to generate them), I see no reason to remove them. They easily convert to newer VS versions so not specifically for VC6. The project files are nice to have around for simple organization/access in VS especially since we already have them, so its not so much about using them to make a build as it is for the VS integration. Can't we stick them in a dir under win32 or so? They're then not cluttering the rest of the tree. with kind regards, Derick -- http://derickrethans.nl | http://xdebug.org Like Xdebug? Consider a donation: http://xdebug.org/donate.php twitter: @derickr and @xdebug -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
andrey Thu, 29 Apr 2010 11:49:08 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298767 Log: Fix crash if OOM and USE_ZEND_ALLOC=0 Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-29 10:53:24 UTC (rev 298766) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c 2010-04-29 11:49:08 UTC (rev 298767) @@ -705,7 +705,7 @@ MYSQLND_PACKET_COMMAND *packet= (MYSQLND_PACKET_COMMAND *) _packet; MYSQLND_NET *net = conn-net; unsigned int error_reporting = EG(error_reporting); - size_t written; + size_t written = 0; DBG_ENTER(php_mysqlnd_cmd_write); /* @@ -734,6 +734,9 @@ size_t tmp_len = packet-arg_len + 1 + MYSQLND_HEADER_SIZE, ret; zend_uchar *tmp, *p; tmp = (tmp_len net-cmd_buffer.length)? mnd_emalloc(tmp_len):net-cmd_buffer.buffer; + if (!tmp) { + goto end; + } p = tmp + MYSQLND_HEADER_SIZE; /* skip the header */ int1store(p, packet-command); @@ -748,6 +751,7 @@ } written = ret; } +end: if (error_reporting) { /* restore error reporting */ EG(error_reporting) = error_reporting; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c2010-04-29 10:53:24 UTC (rev 298766) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c2010-04-29 11:49:08 UTC (rev 298767) @@ -705,7 +705,7 @@ MYSQLND_PACKET_COMMAND *packet= (MYSQLND_PACKET_COMMAND *) _packet; MYSQLND_NET *net = conn-net; unsigned int error_reporting = EG(error_reporting); - size_t written; + size_t written = 0; DBG_ENTER(php_mysqlnd_cmd_write); /* @@ -734,6 +734,9 @@ size_t tmp_len = packet-arg_len + 1 + MYSQLND_HEADER_SIZE, ret; zend_uchar *tmp, *p; tmp = (tmp_len net-cmd_buffer.length)? mnd_emalloc(tmp_len):net-cmd_buffer.buffer; + if (!tmp) { + goto end; + } p = tmp + MYSQLND_HEADER_SIZE; /* skip the header */ int1store(p, packet-command); @@ -748,6 +751,7 @@ } written = ret; } +end: if (error_reporting) { /* restore error reporting */ EG(error_reporting) = error_reporting; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt trunk/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt
andrey Thu, 29 Apr 2010 12:07:02 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298768 Log: Try blob columns instead of int, and insert a lot of data at once Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt U php/php-src/trunk/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt === --- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt 2010-04-29 11:49:08 UTC (rev 298767) +++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt 2010-04-29 12:07:02 UTC (rev 298768) @@ -6,6 +6,8 @@ require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ? +--INI-- +memory_limit=256M --FILE-- ?php /* @@ -25,6 +27,19 @@ exit(1); } + list($old_max_allowed_packet) = $link-query(SELECT @@max_allowed_packet)-fetch_row(); + if (!$link-query(SET GLOBAL max_allowed_packet=(229))) { + printf(Failed to set max_allowed_packet the test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link)); + } + mysqli_close($link); + + + if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) { + printf(Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n, + $host, $user, $db, $port, $socket); + exit(1); + } + if (!mysqli_query($link, 'DROP TABLE IF EXISTS ps_test')) { printf(Failed to drop old test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link)); exit(1); @@ -33,27 +48,38 @@ $cols = 2500; $str = array(); for ($i = 1; $i = $cols; $i++) { - $str[] =a$i INT; + $str[] =a$i BLOB; } - $link-query(CREATE TABLE ps_test( . implode( , , $str) . )); + $link-query(CREATE TABLE ps_test( . implode( , , $str) . ) ENGINE=MyISAM); if (mysqli_errno($link)) { printf(Failed to create the test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link)); die(); } $stmt = $link-prepare(INSERT INTO ps_test VALUES(.str_repeat(?, , $cols-1) . ?)); var_dump($stmt-id); - $eval_str=\$stmt-bind_param(\.str_repeat(i,$cols).\, ; + $s = str_repeat(a, 2 12); + $eval_str=\$stmt-bind_param(\.str_repeat(s,$cols).\, ; for ($i = 1; $i $cols; $i++) { - $eval_str.=\$i,; + $eval_str.=\$s,; } - $eval_str.=\$i; + $eval_str.=\$s; $eval_str.=);; eval($eval_str); - var_dump($stmt-execute()); + printf(executing\n); + if (!$stmt-execute()) { + printf(failed); + printf(Failed to execute: [%d] %s\n, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); + } else { + var_dump(true); + } mysqli_stmt_close($stmt); + if (!$link-query(SET GLOBAL max_allowed_packet=$old_max_allowed_packet)) { + printf(Failed to set max_allowed_packet the test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link)); + } + mysqli_close($link); print done!; @@ -72,5 +98,6 @@ ? --EXPECTF-- int(1) +executing bool(true) done! Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt === --- php/php-src/trunk/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt 2010-04-29 11:49:08 UTC (rev 298767) +++ php/php-src/trunk/ext/mysqli/tests/mysqli_stmt_bind_param_many_columns.phpt 2010-04-29 12:07:02 UTC (rev 298768) @@ -6,6 +6,8 @@ require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ? +--INI-- +memory_limit=256M --FILE-- ?php /* @@ -25,6 +27,19 @@ exit(1); } + list($old_max_allowed_packet) = $link-query(SELECT @@max_allowed_packet)-fetch_row(); + if (!$link-query(SET GLOBAL max_allowed_packet=(229))) { + printf(Failed to set max_allowed_packet the test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link)); + } + mysqli_close($link); + + + if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) { + printf(Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n, + $host, $user, $db, $port, $socket); + exit(1); + } + if (!mysqli_query($link, 'DROP TABLE IF EXISTS ps_test')) { printf(Failed to drop old test table: [%d] %s\n, mysqli_errno($link), mysqli_error($link));
[PHP-CVS] svn: /php/php-src/trunk/Zend/tests/ unset_cv07.phpt
tony2001 Thu, 29 Apr 2010 12:43:18 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298769 Log: fix skipif section Changed paths: U php/php-src/trunk/Zend/tests/unset_cv07.phpt Modified: php/php-src/trunk/Zend/tests/unset_cv07.phpt === --- php/php-src/trunk/Zend/tests/unset_cv07.phpt2010-04-29 12:07:02 UTC (rev 298768) +++ php/php-src/trunk/Zend/tests/unset_cv07.phpt2010-04-29 12:43:18 UTC (rev 298769) @@ -1,7 +1,7 @@ --TEST-- unset() CV 7 (indirect unset() of global variable in import_request_variables()) --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('Not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? --GET-- x=2 --FILE-- -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/trunk/ Zend/tests/unset_cv07.phpt ext/standard/tests/general_functions/import_request.phpt ext/standard/tests/general_functions/import_request1.phpt ext/standard/tests/gene
tony2001 Thu, 29 Apr 2010 12:48:06 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298770 Log: fix tests Changed paths: U php/php-src/trunk/Zend/tests/unset_cv07.phpt U php/php-src/trunk/ext/standard/tests/general_functions/import_request.phpt U php/php-src/trunk/ext/standard/tests/general_functions/import_request1.phpt U php/php-src/trunk/ext/standard/tests/general_functions/import_request2.phpt U php/php-src/trunk/ext/standard/tests/general_functions/import_request3.phpt Modified: php/php-src/trunk/Zend/tests/unset_cv07.phpt === --- php/php-src/trunk/Zend/tests/unset_cv07.phpt2010-04-29 12:43:18 UTC (rev 298769) +++ php/php-src/trunk/Zend/tests/unset_cv07.phpt2010-04-29 12:48:06 UTC (rev 298770) @@ -1,7 +1,7 @@ --TEST-- unset() CV 7 (indirect unset() of global variable in import_request_variables()) --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID = 50399){ die('skip not needed anymore without register_globals'); } ? --GET-- x=2 --FILE-- Modified: php/php-src/trunk/ext/standard/tests/general_functions/import_request.phpt === --- php/php-src/trunk/ext/standard/tests/general_functions/import_request.phpt 2010-04-29 12:43:18 UTC (rev 298769) +++ php/php-src/trunk/ext/standard/tests/general_functions/import_request.phpt 2010-04-29 12:48:06 UTC (rev 298770) @@ -1,7 +1,7 @@ --TEST-- import_request_variables() tests --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID = 50399){ die('skip not needed anymore without register_globals'); } ? --GET-- a=1b=hehc=3d[]=5GLOBALS=test1=hm --POST-- Modified: php/php-src/trunk/ext/standard/tests/general_functions/import_request1.phpt === --- php/php-src/trunk/ext/standard/tests/general_functions/import_request1.phpt 2010-04-29 12:43:18 UTC (rev 298769) +++ php/php-src/trunk/ext/standard/tests/general_functions/import_request1.phpt 2010-04-29 12:48:06 UTC (rev 298770) @@ -1,7 +1,7 @@ --TEST-- import_request_variables() test (overwrite super-globals) --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID = 50399){ die('skip not needed anymore without register_globals'); } ? --GET-- GET=0POST=1COOKIE=2FILES=3REQUEST=4 --POST-- Modified: php/php-src/trunk/ext/standard/tests/general_functions/import_request2.phpt === --- php/php-src/trunk/ext/standard/tests/general_functions/import_request2.phpt 2010-04-29 12:43:18 UTC (rev 298769) +++ php/php-src/trunk/ext/standard/tests/general_functions/import_request2.phpt 2010-04-29 12:48:06 UTC (rev 298770) @@ -1,7 +1,7 @@ --TEST-- import_request_variables() test (numeric keys) --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID = 50399){ die('skip not needed anymore without register_globals'); } ? --GET-- 1=02=13=24=35=4 --POST-- Modified: php/php-src/trunk/ext/standard/tests/general_functions/import_request3.phpt === --- php/php-src/trunk/ext/standard/tests/general_functions/import_request3.phpt 2010-04-29 12:43:18 UTC (rev 298769) +++ php/php-src/trunk/ext/standard/tests/general_functions/import_request3.phpt 2010-04-29 12:48:06 UTC (rev 298770) @@ -1,7 +1,7 @@ --TEST-- import_request_variables() test (numeric keys, different order) --SKIPIF-- -?php if(PHP_VERSION_ID 503099){ die('skip not needed anymore without register_globals'); } ? +?php if(PHP_VERSION_ID = 50399){ die('skip not needed anymore without register_globals'); } ? --GET-- 1=02=13=24=35=4 --POST-- -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd.c
andrey Thu, 29 Apr 2010 13:13:41 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298771 Log: Fix possible crashes in case of OOM, as well as a leak. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 12:48:06 UTC (rev 298770) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 13:13:41 UTC (rev 298771) @@ -780,8 +780,10 @@ DBG_INF_FMT(host=%s user=%s db=%s port=%d flags=%d, host?host:, user?user:, db?db:, port, mysql_flags); if (!conn) { - conn = mysqlnd_init(FALSE); self_alloced = TRUE; + if (!(conn = mysqlnd_init(FALSE))) { + DBG_RETURN(NULL); + } } ret = conn-m-connect(conn, host, user, passwd, passwd_len, db, db_len, port, socket, mysql_flags TSRMLS_CC); @@ -1094,8 +1096,10 @@ MyISAM goes to 2500 BIT columns, double it for safety. */ result = mysqlnd_result_init(5000, conn-persistent TSRMLS_CC); + if (!result) { + DBG_RETURN(NULL); + } - if (FAIL == result-m.read_result_metadata(result, conn TSRMLS_CC)) { DBG_ERR(Error ocurred while reading metadata); result-m.free_result(result, TRUE TSRMLS_CC); @@ -1105,6 +1109,11 @@ result-type = MYSQLND_RES_NORMAL; result-m.fetch_row = result-m.fetch_row_normal_unbuffered; result-unbuf = mnd_ecalloc(1, sizeof(MYSQLND_RES_UNBUFFERED)); + if (!result-unbuf) { + DBG_ERR(OOM); + result-m.free_result(result, TRUE TSRMLS_CC); + DBG_RETURN(NULL); + } result-unbuf-eof_reached = TRUE; DBG_RETURN(result); @@ -1933,7 +1942,13 @@ /* when num_commands is 0, then realloc will be effectively a malloc call, internally */ conn-options.init_commands = mnd_perealloc(conn-options.init_commands, sizeof(char *) * (conn-options.num_commands + 1), conn-persistent); + if (!conn-options.init_commands) { + DBG_RETURN(FAIL); + } conn-options.init_commands[conn-options.num_commands] = mnd_pestrdup(value, conn-persistent); + if (!conn-options.init_commands[conn-options.num_commands]) { + DBG_RETURN(FAIL); + } ++conn-options.num_commands; break; case MYSQL_READ_DEFAULT_FILE: @@ -1946,6 +1961,10 @@ break; case MYSQL_SET_CHARSET_NAME: DBG_INF(MYSQL_SET_CHARSET_NAME); + if (conn-options.charset_name) { + mnd_pefree(conn-options.charset_name, conn-persistent); + conn-options.charset_name = NULL; + } conn-options.charset_name = mnd_pestrdup(value, conn-persistent); DBG_INF_FMT(charset=%s, conn-options.charset_name); break; Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-29 12:48:06 UTC (rev 298770) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-29 13:13:41 UTC (rev 298771) @@ -780,8 +780,10 @@ DBG_INF_FMT(host=%s user=%s db=%s port=%d flags=%d, host?host:, user?user:, db?db:, port, mysql_flags); if (!conn) { - conn = mysqlnd_init(FALSE); self_alloced = TRUE; + if (!(conn = mysqlnd_init(FALSE))) { + DBG_RETURN(NULL); + } } ret = conn-m-connect(conn, host, user, passwd, passwd_len, db, db_len, port, socket, mysql_flags TSRMLS_CC); @@ -1094,8 +1096,10 @@ MyISAM goes to 2500 BIT columns, double it for safety. */ result = mysqlnd_result_init(5000, conn-persistent TSRMLS_CC); + if (!result) { + DBG_RETURN(NULL); + } - if (FAIL == result-m.read_result_metadata(result, conn TSRMLS_CC)) { DBG_ERR(Error ocurred while reading metadata); result-m.free_result(result, TRUE TSRMLS_CC); @@ -1105,6 +1109,11 @@ result-type = MYSQLND_RES_NORMAL; result-m.fetch_row = result-m.fetch_row_normal_unbuffered; result-unbuf = mnd_ecalloc(1, sizeof(MYSQLND_RES_UNBUFFERED)); + if
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqli/tests/mysqli_options.phpt trunk/ext/mysqli/tests/mysqli_options.phpt
andrey Thu, 29 Apr 2010 13:19:57 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298772 Log: Add a test case for the recently fixed memleak Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_options.phpt U php/php-src/trunk/ext/mysqli/tests/mysqli_options.phpt Modified: php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_options.phpt === --- php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_options.phpt 2010-04-29 13:13:41 UTC (rev 298771) +++ php/php-src/branches/PHP_5_3/ext/mysqli/tests/mysqli_options.phpt 2010-04-29 13:19:57 UTC (rev 298772) @@ -53,6 +53,10 @@ $link = mysqli_init(); + /* set it twice, checking if memory for the previous one is correctly freed */ + mysqli_options($link, MYSQLI_SET_CHARSET_NAME, utf8); + mysqli_options($link, MYSQLI_SET_CHARSET_NAME, latin1); + if (!is_null($tmp = @mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT))) printf([003] Expecting NULL, got %s/%s\n, gettype($tmp), $tmp); Modified: php/php-src/trunk/ext/mysqli/tests/mysqli_options.phpt === --- php/php-src/trunk/ext/mysqli/tests/mysqli_options.phpt 2010-04-29 13:13:41 UTC (rev 298771) +++ php/php-src/trunk/ext/mysqli/tests/mysqli_options.phpt 2010-04-29 13:19:57 UTC (rev 298772) @@ -53,6 +53,10 @@ $link = mysqli_init(); + /* set it twice, checking if memory for the previous one is correctly freed */ + mysqli_options($link, MYSQLI_SET_CHARSET_NAME, utf8); + mysqli_options($link, MYSQLI_SET_CHARSET_NAME, latin1); + if (!is_null($tmp = @mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT))) printf([003] Expecting NULL, got %s/%s\n, gettype($tmp), $tmp); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd.c
andrey Thu, 29 Apr 2010 15:17:44 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298779 Log: Fix valgrind warning, usage of nirvana memory Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 13:42:01 UTC (rev 298778) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 15:17:44 UTC (rev 298779) @@ -1842,7 +1842,6 @@ chg_user_resp = conn-protocol-m.get_change_user_response_packet(conn-protocol, FALSE TSRMLS_CC); ret = PACKET_READ(chg_user_resp, conn); conn-error_info = chg_user_resp-error_info; - PACKET_FREE(chg_user_resp); if (conn-error_info.error_no) { ret = FAIL; @@ -1876,6 +1875,7 @@ DBG_ERR(mysqlnd_old_passwd); SET_CLIENT_ERROR(conn-error_info, CR_UNKNOWN_ERROR, UNKNOWN_SQLSTATE, mysqlnd_old_passwd); } + PACKET_FREE(chg_user_resp); SET_ERROR_AFF_ROWS(conn); Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-29 13:42:01 UTC (rev 298778) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-04-29 15:17:44 UTC (rev 298779) @@ -1842,7 +1842,6 @@ chg_user_resp = conn-protocol-m.get_change_user_response_packet(conn-protocol, FALSE TSRMLS_CC); ret = PACKET_READ(chg_user_resp, conn); conn-error_info = chg_user_resp-error_info; - PACKET_FREE(chg_user_resp); if (conn-error_info.error_no) { ret = FAIL; @@ -1876,6 +1875,7 @@ DBG_ERR(mysqlnd_old_passwd); SET_CLIENT_ERROR(conn-error_info, CR_UNKNOWN_ERROR, UNKNOWN_SQLSTATE, mysqlnd_old_passwd); } + PACKET_FREE(chg_user_resp); SET_ERROR_AFF_ROWS(conn); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/trunk/ NEWS ext/spl/spl_observer.c ext/spl/tests/SplObjectStorage_getHash.phpt
colder Thu, 29 Apr 2010 15:47:41 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298780 Log: Implement SplObjectStorage::getHash() Changed paths: U php/php-src/trunk/NEWS U php/php-src/trunk/ext/spl/spl_observer.c A php/php-src/trunk/ext/spl/tests/SplObjectStorage_getHash.phpt Modified: php/php-src/trunk/NEWS === --- php/php-src/trunk/NEWS 2010-04-29 15:17:44 UTC (rev 298779) +++ php/php-src/trunk/NEWS 2010-04-29 15:47:41 UTC (rev 298780) @@ -26,6 +26,7 @@ - Added ReflectionZendExtension class. (Johannes) - Added command line option --rz to CLI. (Johannes) - Added closure $this support back. (Stas) +- Added SplObjectStorage::getHash() hook. (Etienne) - default_charset if not specified is now UTF-8 instead of ISO-8859-1. (Rasmus) Modified: php/php-src/trunk/ext/spl/spl_observer.c === --- php/php-src/trunk/ext/spl/spl_observer.c 2010-04-29 15:17:44 UTC (rev 298779) +++ php/php-src/trunk/ext/spl/spl_observer.c 2010-04-29 15:47:41 UTC (rev 298780) @@ -84,6 +84,7 @@ long index; HashPosition pos; long flags; + zend_function*fptr_get_hash; HashTable*debug_info; } spl_SplObjectStorage; /* }}} */ @@ -109,36 +110,96 @@ efree(object); } /* }}} */ +static char *spl_object_storage_get_hash(spl_SplObjectStorage *intern, zval *this, zval *obj, int *hash_len_ptr TSRMLS_DC) { + if (intern-fptr_get_hash) { + zval *rv; + zend_call_method_with_1_params(this, intern-std.ce, intern-fptr_get_hash, getHash, rv, obj); + if (rv) { + if (Z_TYPE_P(rv) == IS_STRING) { +int hash_len = Z_STRLEN_P(rv); +char *hash = emalloc((hash_len+1)*sizeof(char *)); +strncpy(hash, Z_STRVAL_P(rv), hash_len); +hash[hash_len] = 0; + +zval_ptr_dtor(rv); +if (hash_len_ptr) { + *hash_len_ptr = hash_len; +} +return hash; + } else { +zend_throw_exception(spl_ce_RuntimeException, Hash needs to be a string, 0 TSRMLS_CC); + +zval_ptr_dtor(rv); +return NULL; + } + } else { + return NULL; + } + } else { + int hash_len = sizeof(zend_object_value); + +#if HAVE_PACKED_OBJECT_VALUE + return (char*)Z_OBJVAL_P(obj); +#else + char *hash = emalloc((hash_len+1)*sizeof(char *)); + + zend_object_value zvalue; + memset(zvalue, 0, sizeof(zend_object_value)); + zvalue.handle = Z_OBJ_HANDLE_P(obj); + zvalue.handlers = Z_OBJ_HT_P(obj); + + strncpy(hash, (char *)zvalue, hash_len); + hash[hash_len] = 0; +#endif + + if (hash_len_ptr) { + *hash_len_ptr = hash_len; + } + + return hash; + } +} + +static void spl_object_storage_free_hash(spl_SplObjectStorage *intern, char *hash) { + if (intern-fptr_get_hash) { + efree(hash); + } else { +#if HAVE_PACKED_OBJECT_VALUE + // Nothing to do +#else + efree(hash); +#endif + } +} + static void spl_object_storage_dtor(spl_SplObjectStorageElement *element) /* {{{ */ { zval_ptr_dtor(element-obj); zval_ptr_dtor(element-inf); } /* }}} */ -spl_SplObjectStorageElement* spl_object_storage_get(spl_SplObjectStorage *intern, zval *obj TSRMLS_DC) /* {{{ */ +spl_SplObjectStorageElement* spl_object_storage_get(spl_SplObjectStorage *intern, char *hash, int hash_len TSRMLS_DC) /* {{{ */ { spl_SplObjectStorageElement *element; - zend_object_value *pzvalue; -#if HAVE_PACKED_OBJECT_VALUE - pzvalue = Z_OBJVAL_P(obj); -#else - zend_object_value zvalue; - memset(zvalue, 0, sizeof(zend_object_value)); - zvalue.handle = Z_OBJ_HANDLE_P(obj); - zvalue.handlers = Z_OBJ_HT_P(obj); - pzvalue = zvalue; -#endif - if (zend_hash_find(intern-storage, (char*)pzvalue, sizeof(zend_object_value), (void**)element) == SUCCESS) { + if (zend_hash_find(intern-storage, hash, hash_len, (void**)element) == SUCCESS) { return element; } else { return NULL; } } /* }}} */ -void spl_object_storage_attach(spl_SplObjectStorage *intern, zval *obj, zval *inf TSRMLS_DC) /* {{{ */ +void spl_object_storage_attach(spl_SplObjectStorage *intern, zval *this, zval *obj, zval *inf TSRMLS_DC) /* {{{ */ { spl_SplObjectStorageElement *pelement, element; - pelement = spl_object_storage_get(intern, obj TSRMLS_CC); + + int hash_len; + char *hash = spl_object_storage_get_hash(intern, this, obj, hash_len TSRMLS_CC); + if (!hash) { + return; + } + + pelement = spl_object_storage_get(intern, hash, hash_len TSRMLS_CC); + if (inf) { Z_ADDREF_P(inf); } else { @@ -147,46 +208,34 @@ if (pelement) { zval_ptr_dtor(pelement-inf); pelement-inf = inf; + spl_object_storage_free_hash(intern, hash); return; } Z_ADDREF_P(obj); element.obj = obj; element.inf = inf; -#if HAVE_PACKED_OBJECT_VALUE - zend_hash_update(intern-storage, (char*)Z_OBJVAL_P(obj), sizeof(zend_object_value), element, sizeof(spl_SplObjectStorageElement), NULL); -#else - { - zend_object_value zvalue; - memset(zvalue, 0, sizeof(zend_object_value)); - zvalue.handle =
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_priv.h trunk/ext/mysqlnd/mysqlnd.c trunk/ext/mysqlnd/mysqlnd_priv.h
andrey Thu, 29 Apr 2010 15:49:51 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298781 Log: Handle OOM cases, in case of persistent connections this is real and the Zend MM won't help. Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_priv.h U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_priv.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 15:47:41 UTC (rev 298780) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-04-29 15:49:51 UTC (rev 298781) @@ -61,6 +61,7 @@ PHPAPI const char * const mysqlnd_server_gone = MySQL server has gone away; PHPAPI const char * const mysqlnd_out_of_sync = Commands out of sync; you can't run this command now; +PHPAPI const char * const mysqlnd_out_of_memory = Out of memory; PHPAPI MYSQLND_STATS *mysqlnd_global_stats = NULL; static zend_bool mysqlnd_library_initted = FALSE; @@ -524,16 +525,25 @@ transport_len = spprintf(transport, 0, tcp://%s:%d, host, port); } + if (!transport) { + goto err; /* OOM */ + } DBG_INF_FMT(transport=%s, transport); conn-scheme = mnd_pestrndup(transport, transport_len, conn-persistent); conn-scheme_len = transport_len; efree(transport); /* allocated by spprintf */ transport = NULL; + if (!conn-scheme) { + goto err; /* OOM */ + } } greet_packet = conn-protocol-m.get_greet_packet(conn-protocol, FALSE TSRMLS_CC); auth_packet = conn-protocol-m.get_auth_packet(conn-protocol, FALSE TSRMLS_CC); ok_packet = conn-protocol-m.get_ok_packet(conn-protocol, FALSE TSRMLS_CC); + if (!greet_packet || !auth_packet || !ok_packet) { + goto err; /* OOM */ + } if (FAIL == conn-net-m.connect(conn-net, conn-scheme, conn-scheme_len, conn-persistent, errstr, errcode TSRMLS_CC)) { goto err; @@ -602,6 +612,9 @@ auth_packet-client_flags= mysql_flags; conn-scramble = auth_packet-server_scramble_buf = mnd_pemalloc(SCRAMBLE_LENGTH, conn-persistent); + if (!conn-scramble) { + goto err; /* OOM */ + } memcpy(auth_packet-server_scramble_buf, greet_packet-scramble_buf, SCRAMBLE_LENGTH); if (!PACKET_WRITE(auth_packet, conn)) { @@ -668,20 +681,35 @@ conn-connect_or_select_db = mnd_pestrndup(db, db_len, conn-persistent); conn-connect_or_select_db_len = db_len; + if (!conn-user || !conn-passwd || !conn-connect_or_select_db) { + goto err; /* OOM */ + } + if (!unix_socket) { - conn-host = mnd_pestrdup(host, conn-persistent); + if (!conn-host) { +goto err; /* OOM */ + } conn-host_len = strlen(conn-host); { char *p; spprintf(p, 0, %s via TCP/IP, conn-host); +if (!p) { + goto err; /* OOM */ +} conn-host_info = mnd_pestrdup(p, conn-persistent); efree(p); /* allocated by spprintf */ +if (!conn-host_info) { + goto err; /* OOM */ +} } } else { conn-unix_socket = mnd_pestrdup(socket, conn-persistent); + conn-host_info = mnd_pestrdup(Localhost via UNIX socket, conn-persistent); + if (!conn-unix_socket || !conn-host_info) { +goto err; /* OOM */ + } conn-unix_socket_len = strlen(conn-unix_socket); - conn-host_info = mnd_pestrdup(Localhost via UNIX socket, conn-persistent); } conn-client_flag = auth_packet-client_flags; conn-max_packet_size = auth_packet-max_packet_size; @@ -720,15 +748,17 @@ unsigned int current_command = 0; for (; current_command conn-options.num_commands; ++current_command) { const char * const command = conn-options.init_commands[current_command]; -MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_INIT_COMMAND_EXECUTED_COUNT); -if (PASS != conn-m-query(conn, command, strlen(command) TSRMLS_CC)) { - MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_INIT_COMMAND_FAILED_COUNT); - goto err; +if (command) { + MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_INIT_COMMAND_EXECUTED_COUNT); + if (PASS != conn-m-query(conn, command, strlen(command) TSRMLS_CC)) { + MYSQLND_INC_CONN_STATISTIC(conn-stats, STAT_INIT_COMMAND_FAILED_COUNT); + goto err; + } + if (conn-last_query_type == QUERY_SELECT) { + MYSQLND_RES * result = conn-m-use_result(conn TSRMLS_CC); + result-m.free_result(result, TRUE TSRMLS_CC); + } } -if (conn-last_query_type == QUERY_SELECT) { - MYSQLND_RES * result = conn-m-use_result(conn TSRMLS_CC); - result-m.free_result(result, TRUE TSRMLS_CC); -} } } @@ -782,6 +812,7 @@ if (!conn) { self_alloced = TRUE; if (!(conn = mysqlnd_init(FALSE))) { + /* OOM */ DBG_RETURN(NULL); } } @@ -1110,7 +1141,8 @@ result-m.fetch_row = result-m.fetch_row_normal_unbuffered; result-unbuf = mnd_ecalloc(1, sizeof(MYSQLND_RES_UNBUFFERED)); if (!result-unbuf) { - DBG_ERR(OOM); + /*
[PHP-CVS] svn: /php/php-src/trunk/ext/spl/ spl_observer.c
colder Thu, 29 Apr 2010 17:14:37 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298782 Log: Fix misplaced code Changed paths: U php/php-src/trunk/ext/spl/spl_observer.c Modified: php/php-src/trunk/ext/spl/spl_observer.c === --- php/php-src/trunk/ext/spl/spl_observer.c2010-04-29 15:49:51 UTC (rev 298781) +++ php/php-src/trunk/ext/spl/spl_observer.c2010-04-29 17:14:37 UTC (rev 298782) @@ -139,6 +139,11 @@ int hash_len = sizeof(zend_object_value); #if HAVE_PACKED_OBJECT_VALUE + + if (hash_len_ptr) { + *hash_len_ptr = hash_len; + } + return (char*)Z_OBJVAL_P(obj); #else char *hash = emalloc((hash_len+1)*sizeof(char *)); @@ -150,13 +155,13 @@ strncpy(hash, (char *)zvalue, hash_len); hash[hash_len] = 0; -#endif if (hash_len_ptr) { *hash_len_ptr = hash_len; } - + return hash; +#endif } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/trunk/ acinclude.m4
dsp Fri, 30 Apr 2010 00:07:39 + Revision: http://svn.php.net/viewvc?view=revisionrevision=298789 Log: Make sure we search the source dir for the dtrace files Changed paths: U php/php-src/trunk/acinclude.m4 Modified: php/php-src/trunk/acinclude.m4 === --- php/php-src/trunk/acinclude.m4 2010-04-29 19:29:27 UTC (rev 298788) +++ php/php-src/trunk/acinclude.m4 2010-04-30 00:07:39 UTC (rev 298789) @@ -2898,7 +2898,7 @@ cat Makefile.objectsEOF $1.o: \$(PHP_DTRACE_OBJS) - dtrace -G -o $1.o -s $1 $obj + dtrace -G -o $abs_builddir/$1.o -s $abs_srcdir/$1 $obj EOF ]) @@ -2928,7 +2928,7 @@ dnl Generate platform specific dtrace header dnl AC_DEFUN([PHP_INIT_DTRACE], [ - dtrace -h -C -s $1 -o $2 - $SED -ibak 's,PHP_,DTRACE_,g' $2 + dtrace -h -C -s $abs_srcdir/$1 -o $abs_builddir/$2 + $SED -ibak 's,PHP_,DTRACE_,g' $abs_builddir/$2 ]) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php