From fa3fc711d3fb54bf1746138ffcf7f46426921204 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sat, 16 Mar 2013 18:07:21 +0100 Subject: [PATCH 1/2] setting plausible default value for struct members especially for unsigned members so they don't casted to max unsigned --- ext/date/php_date.c | 30 +++++++++++++++--------------- ext/date/tests/bug52113.phpt | 6 +++--- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index b454dd0f06d..a073aa691ea 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -4006,14 +4006,14 @@ static int php_date_interval_initialize_from_hash(zval **return_value, php_inter { (*intobj)->diff = timelib_rel_time_ctor(); -#define PHP_DATE_INTERVAL_READ_PROPERTY(element, member, itype) \ +#define PHP_DATE_INTERVAL_READ_PROPERTY(element, member, itype, def) \ do { \ zval **z_arg = NULL; \ if (zend_hash_find(myht, element, strlen(element) + 1, (void**) &z_arg) == SUCCESS) { \ convert_to_long(*z_arg); \ (*intobj)->diff->member = (itype)Z_LVAL_PP(z_arg); \ } else { \ - (*intobj)->diff->member = (itype)-1; \ + (*intobj)->diff->member = (itype)def; \ } \ } while (0); @@ -4028,21 +4028,21 @@ static int php_date_interval_initialize_from_hash(zval **return_value, php_inter } \ } while (0); - PHP_DATE_INTERVAL_READ_PROPERTY("y", y, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("m", m, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("d", d, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("h", h, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("i", i, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("s", s, timelib_sll) - PHP_DATE_INTERVAL_READ_PROPERTY("weekday", weekday, int) - PHP_DATE_INTERVAL_READ_PROPERTY("weekday_behavior", weekday_behavior, int) - PHP_DATE_INTERVAL_READ_PROPERTY("first_last_day_of", first_last_day_of, int) - PHP_DATE_INTERVAL_READ_PROPERTY("invert", invert, int); + PHP_DATE_INTERVAL_READ_PROPERTY("y", y, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("m", m, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("d", d, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("h", h, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("i", i, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("s", s, timelib_sll, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("weekday", weekday, int, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("weekday_behavior", weekday_behavior, int, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("first_last_day_of", first_last_day_of, int, -1) + PHP_DATE_INTERVAL_READ_PROPERTY("invert", invert, int, 0); PHP_DATE_INTERVAL_READ_PROPERTY_I64("days", days); - PHP_DATE_INTERVAL_READ_PROPERTY("special_type", special.type, unsigned int); + PHP_DATE_INTERVAL_READ_PROPERTY("special_type", special.type, unsigned int, 0); PHP_DATE_INTERVAL_READ_PROPERTY_I64("special_amount", special.amount); - PHP_DATE_INTERVAL_READ_PROPERTY("have_weekday_relative", have_weekday_relative, unsigned int); - PHP_DATE_INTERVAL_READ_PROPERTY("have_special_relative", have_special_relative, unsigned int); + PHP_DATE_INTERVAL_READ_PROPERTY("have_weekday_relative", have_weekday_relative, unsigned int, 0); + PHP_DATE_INTERVAL_READ_PROPERTY("have_special_relative", have_special_relative, unsigned int, 0); (*intobj)->initialized = 1; return 0; diff --git a/ext/date/tests/bug52113.phpt b/ext/date/tests/bug52113.phpt index 226dae5f26c..862e92e9615 100644 --- a/ext/date/tests/bug52113.phpt +++ b/ext/date/tests/bug52113.phpt @@ -189,13 +189,13 @@ object(DateInterval)#8 (15) { ["days"]=> string(4) "2400" ["special_type"]=> - int(-1) + int(0) ["special_amount"]=> string(2) "-1" ["have_weekday_relative"]=> - int(-1) + int(0) ["have_special_relative"]=> - int(-1) + int(0) } object(DatePeriod)#9 (6) { ["start"]=> From 07b1eaa6097903084be2abf0273dd1ed8e91b0d4 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Sun, 17 Mar 2013 10:40:59 +0400 Subject: [PATCH 2/2] Removed files that are neccessary only for standalone pecl branch --- ext/opcache/.gitignore | 87 -------------------------- ext/opcache/.travis.yml | 14 ----- ext/opcache/LICENSE | 68 -------------------- ext/opcache/package.xml | 134 ---------------------------------------- 4 files changed, 303 deletions(-) delete mode 100644 ext/opcache/.gitignore delete mode 100644 ext/opcache/.travis.yml delete mode 100644 ext/opcache/LICENSE delete mode 100644 ext/opcache/package.xml diff --git a/ext/opcache/.gitignore b/ext/opcache/.gitignore deleted file mode 100644 index 8f2bec9d3ab..00000000000 --- a/ext/opcache/.gitignore +++ /dev/null @@ -1,87 +0,0 @@ -# General Ignores -*~ -.#* -*. -*.slo -*.mk -*.mem -*.gcda -*.gcno -*.la -*.lo -*.o -*.a -*.ncb -*.opt -*.plg -*swp -*.patch -*.tgz -*.tar.gz -*.tar.bz2 -.FBCIndex -.FBCLockFolder -.deps -.libs -phpt.* -core -dynlib.m4 -Debug -Debug_TS -Makefile -Makefile.fragments -Makefile.objects -Makefile.global -Release -Release_TS -Release_TSDbg -Release_TS_inline -Release_inline -ZendEngine1 -_libs -acconfig.h -aclocal.m4 -acinclude.m4 -autom4te.cache -bsd_converted -buildconf.stamp -buildmk.stamp -confdefs.h -config.h -config.guess -config.cache -config.h.in -config.log -config.nice -config.nice.bat -config.status -config.sub -config_vars.mk -configuration-parser.c -configuration-parser.h -configuration-parser.output -configuration-scanner.c -configure -configure.in -configure.bat -configure.js -conftest -conftest.c -debug.log -diff -generated_lists -include -install-sh -internal_functions.c -lcov_data -lcov_html -libs -libtool -ltmain.sh -meta_cc -meta_ccld -missing -mkinstalldirs -modules -build -run-tests.php diff --git a/ext/opcache/.travis.yml b/ext/opcache/.travis.yml deleted file mode 100644 index b876f57d30f..00000000000 --- a/ext/opcache/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: php -php: - - 5.2 - - 5.3 - - 5.4 - - 5.5 - -before_script: - - phpize - - ./configure --enable-optimizer-plus - - make - -script: - - php -d zend_extension=`pwd`/modules/ZendOptimizerPlus.so -m | grep "Zend Optimizer+" \ No newline at end of file diff --git a/ext/opcache/LICENSE b/ext/opcache/LICENSE deleted file mode 100644 index 42536af3206..00000000000 --- a/ext/opcache/LICENSE +++ /dev/null @@ -1,68 +0,0 @@ --------------------------------------------------------------------- - The PHP License, version 3.01 -Copyright (c) 1999 - 2012 The PHP Group. All rights reserved. --------------------------------------------------------------------- - -Redistribution and use in source and binary forms, with or without -modification, is permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. The name "PHP" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact group@php.net. - - 4. Products derived from this software may not be called "PHP", nor - may "PHP" appear in their name, without prior written permission - from group@php.net. You may indicate that your software works in - conjunction with PHP by saying "Foo for PHP" instead of calling - it "PHP Foo" or "phpfoo" - - 5. The PHP Group may publish revised and/or new versions of the - license from time to time. Each version will be given a - distinguishing version number. - Once covered code has been published under a particular version - of the license, you may always continue to use it under the terms - of that version. You may also choose to use such covered code - under the terms of any subsequent version of the license - published by the PHP Group. No one other than the PHP Group has - the right to modify the terms applicable to covered code created - under this License. - - 6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes PHP software, freely available from - ". - -THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND -ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP -DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - --------------------------------------------------------------------- - -This software consists of voluntary contributions made by many -individuals on behalf of the PHP Group. - -The PHP Group can be contacted via Email at group@php.net. - -For more information on the PHP Group and the PHP project, -please see . - -PHP includes the Zend Engine, freely available at -. diff --git a/ext/opcache/package.xml b/ext/opcache/package.xml deleted file mode 100644 index b890a2dda7e..00000000000 --- a/ext/opcache/package.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - zendoptimizerplus - pecl.php.net - The Zend Optimizer+ provides faster PHP execution through opcode caching and optimization. - - The Zend Optimizer+ provides faster PHP execution through opcode caching and - optimization. It improves PHP performance by storing precompiled script - bytecode in the shared memory. This eliminates the stages of reading code from - the disk and compiling it on future access. In addition, it applies a few - bytecode optimization patterns that make code execution faster. - - - Dmitry Stogov - dmitry - dmitry@zend.com - yes - - - Zeev Suraski - zeev - zeev@zend.com - yes - - - Hannes Magnusson - bjori - bjori@php.net - yes - - - Xinchen Hui - laruence - laruence@php.net - yes - - 2013-03-04 - - - 7.0.0 - 7.0.0 - - - beta - beta - - PHP License - - - Initial release - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5.2.0 - - - 1.4.0b1 - - - - zendoptimizerplus - - - - - 7.0.0 - 7.0.0 - - - beta - beta - - 2013-03-04 - PHP License - - - Initial release. - - - -