Commit Graph

51 Commits

Author SHA1 Message Date
Dmitry Stogov
90b7bde615 Use more compact representation for packed arrays.
- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
  instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
  familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
  (ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
  (packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
  ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
    - sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
    - zend_hash_sort_ex() may require converting packed arrays to hash.
2021-11-03 15:18:26 +03:00
KsaR
01b3fc03c3
Update http->https in license (#6945)
1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |
2021-05-06 12:16:35 +02:00
Gabriel Caruso
5d6e923d46
Remove mention of PHP major version in Copyright headers
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Peter Kokot
92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Zeev Suraski
0cf7de1c70 Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
Zeev Suraski
67e0138c0d Future-proof email addresses... 2018-11-01 18:30:28 +02:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Anatol Belski
a56700043e vim folds and modelines 2017-07-04 16:08:48 +02:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Lior Kaplan
2eb1f38d24 Happy new year (Update copyright to 2016) 2016-01-01 20:03:16 +02:00
Anatol Belski
5ea429494e add license header 2015-05-20 19:14:09 +02:00
Anatol Belski
a6190359ad add vim modelines 2015-05-20 19:14:05 +02:00
Anatol Belski
ea2e197224 fix leaking registry key handle 2015-03-10 09:10:24 +01:00
Anatol Belski
9577a20b3b fix invalid write 2015-03-06 16:42:31 +01:00
Anatol Belski
01ccfb7cc9 fix ini registry handling 2015-03-04 19:27:45 +01:00
Dmitry Stogov
1eb4352143 Use new ZEND_HASH_FOREACH_... API. 2015-02-10 15:43:12 +03:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Anatol Belski
bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Anatol Belski
1770ae641b fix datatype mismatches 2014-10-28 17:24:55 +01:00
Dmitry Stogov
e51677b2e6 fixed reference counting 2014-09-02 11:24:52 +04:00
Anatol Belski
c3e3c98ec6 master renames phase 1 2014-08-25 19:24:55 +02:00
Anatol Belski
8ee2a4a9b5 first shot on merging the core fro the int64 branch 2014-08-16 11:16:11 +02:00
Dmitry Stogov
b4c2bd2277 Fixed compilation on Windows 2014-07-15 15:50:42 +04:00
Pierre Joye
21d270dbaa fix windows build 2014-05-14 20:06:18 +02:00
Dmitry Stogov
e1410b5a70 Fixed uninitialized zval.type (Yoram) 2013-01-10 18:53:10 +04:00
Felipe Pena
de884997e0 - Fixed bug #62955 (Only one directive is loaded from "Per Directory Values" Windows registry) 2012-08-30 09:32:13 -03:00
Felipe Pena
93c91c733c - Fixed bug #55299 (multiple null pointer in win32/registry.c) 2012-05-16 08:40:12 -03:00
Pierre Joye
10a1f90ab0 - local redeclaration 2011-01-10 01:04:36 +00:00
Stanislav Malyshev
dd15b8810c add safeguard for UpdateIniFromRegistry on NULL arg 2009-10-13 20:10:07 +00:00
Edin Kadribasic
f1bcbb97ea MFH (and build fix) 2007-10-12 07:58:32 +00:00
Dmitry Stogov
c327dec913 Fixed bug #41192 (Per Directory Values only work for one key) 2007-05-02 10:16:34 +00:00
Dmitry Stogov
6a8b3db8bc Fixed buffer overflow 2007-04-22 10:25:18 +00:00
Marcus Boerger
50ea26760d - Avoid sprintf, even when checked copy'n'paste or changes lead to errors 2007-02-24 02:17:47 +00:00
Dmitry Stogov
532b02cd19 Implemented registry cache that prevent registry lookup on each request. In case of modification of corresponding registry-tree PHP will reload it automatic. 2006-11-10 11:42:07 +00:00
Dmitry Stogov
58c2278284 Added version specific registry keys to allow different configurations for different php version. 2006-08-03 13:54:05 +00:00
Zeev Suraski
6e6a1f0e69 Merge registry fix 2005-03-14 12:42:05 +00:00
Stanislav Malyshev
e8e0c6fb41 fix wrong string length for registry values 2003-10-19 13:47:35 +00:00
Stanislav Malyshev
405361f7ea fix compilation 2003-10-19 10:36:36 +00:00
Stanislav Malyshev
3e828db413 Add function for getting php.ini path from registry 2003-10-19 10:22:21 +00:00
Zeev Suraski
9a9c1b435c Change the 'security level' of registry entries to PHP_INI_SYSTEM. They're
in the system hive in the registry, so only people with administrative
priveleges can add stuff in there.
2002-10-14 12:05:09 +00:00
Zeev Suraski
1159c84ab7 - TSRMLS_FETCH work
- whitespace fixes
2001-08-05 01:43:02 +00:00
Andi Gutmans
4c823e8a89 - Change macros from V_ to VCWD_ because of AIX name clash 2001-04-30 12:45:02 +00:00
Daniel Beulshausen
1ba3c6d65d fix registry per directory values
# they never really worked for me before
2001-03-20 15:44:55 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Sascha Schumann
d0f3764ee2 Change reentrancy API to always use the php prefix.
Check for the declaration of reentrant functions, so that we can use
them in non-ZTS mode on all platforms.
2000-05-04 10:38:17 +00:00
Andi Gutmans
c9911a151e - Change PHP_ to V_ (directory & file functions) 2000-04-15 14:28:48 +00:00
Andi Gutmans
2a15b85ca1 - One more fopen -> PHP_FOPEN patch 2000-04-04 20:06:45 +00:00
Zeev Suraski
1239651126 @- Modified the registry INI entry reader (Win32) to work with drive letters. For
@  example, if you wish to wish to specify INI entries for C:\foo\bar, you should
@  create HKLM\PHP\Per Directory Values\C\foo\bar in the registry, and add
@  string values for each directive you want to override in this directory (Zeev)
2000-03-25 01:32:47 +00:00
Zeev Suraski
1261271839 Allow the INI callbacks to know at what stage PHP is 2000-02-26 15:36:23 +00:00
Sascha Schumann
2f6ded9ac9 Convert more source files to use thread-safe functions 1999-11-26 16:51:57 +00:00