Commit Graph

165 Commits

Author SHA1 Message Date
Veres Lajos
4749457a49 HASH_KEY_NON_EXISTANT fix 2013-07-21 20:09:53 -07:00
Nikita Popov
86434be946 Fix bug #65051: count() off by one inside unset()
nNumOfElements was incremented after the pDestructor code, so any
code in the dtor would get a wrong number of elements.

Right now the bucket deletion code is replicated in four places,
it should probably be moved off into one function (or rather,
zend_hash_apply_deleter should be used everywhere). The codes are
subtly different though in that the HANDLE_UNBLOCK_INTERRUPTIONS()
happens in different places. In particular it seems odd that in
some cases interruptions stay blocked during the destructor call.
2013-06-17 23:44:13 +02:00
Nikita Popov
1f34ccbe34 Fix bug #64555: foreach no longer copies keys if they are interned 2013-04-03 20:29:19 +02:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Felipe Pena
8775a37559 - Year++ 2012-01-01 13:15:04 +00:00
Dmitry Stogov
dc18f8427c Fixed icorrect key length after updating constant index 2011-12-01 13:58:29 +00:00
Dmitry Stogov
e43ff1359e Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Pierre Joye
710d46f38e - WS 2011-09-06 06:34:36 +00:00
Pierrick Charron
7f203d4385 Fix typo 2011-08-08 11:30:56 +00:00
Rasmus Lerdorf
1ac9192d46 Fix missing va_end() found by Coverity 2011-08-05 22:18:42 +00:00
Dmitry Stogov
8ff0701e8d Fixed bug #50816 (Using class constants in array definition fails). 2011-08-01 11:21:23 +00:00
Felipe Pena
5ca0f69921 - Fix ZTS build 2011-06-02 22:54:14 +00:00
Ilia Alshanetsky
939875133a Zend Signal Handling (see RFC: https://wiki.php.net/rfc/zendsignals)
This needs to go into 5.4 as well, but will wait for Pierre to review win32 situation

# Patch by Lucas Nealan, Arnaud Le Blanc, Brian Shire & Ilia Alshanetsky
2011-06-02 21:16:50 +00:00
Dmitry Stogov
50ce16deff Fixed bug #54268 (Double free when destroy_zend_class fails) 2011-04-15 12:43:20 +00:00
Dmitry Stogov
8fe3ea75cb Changed initialization order to workaround against crashes after memory overflow 2011-04-15 09:59:42 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Johannes Schlüter
1e1e70dc55 - Don't be silent on bailout 2010-09-14 14:26:37 +00:00
Dmitry Stogov
25d6aee4fb Removed redundant check 2010-07-07 11:44:27 +00:00
Felipe Pena
e232da026b - Replaced 'zend_hash_find' to 'zend_hash_quick_find' on zend_hash_compare() function 2010-05-03 16:36:04 +00:00
Dmitry Stogov
dd5c478be6 Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed. 2010-04-20 11:05:54 +00:00
Dmitry Stogov
ea53dc5af6 Added an optimization which saves memory and emalloc/efree calls for empty HashTables 2010-04-20 10:49:22 +00:00
Sebastian Bergmann
d2281d1dff sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
Matt Wilmas
dca18b68d1 MFH: Fixed bug #47836 (array operator [] inconsistency when the array has PHP_INT_MAX index value)
Also simplified related array_push() test
2009-06-07 19:28:15 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Felipe Pena
cf7384aa40 - MFH: Constness (Added const qualifier to several function parameters) 2008-08-12 17:20:25 +00:00
Antony Dovgal
3c018ceb75 fix WS 2008-08-07 11:51:54 +00:00
Dmitry Stogov
c1e5b1345d Fixed bug #45742 (Wrong class array inpretetion using constant indexes) 2008-08-07 11:45:35 +00:00
Dmitry Stogov
37a769353f Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys). 2008-08-01 14:22:03 +00:00
Felipe Pena
0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Dmitry Stogov
4035a8ebc0 Fixed bug #41372 (Internal pointer of source array resets during array copying)
Fixed bug #37715 (array pointers resetting on copy)
2007-07-24 18:28:39 +00:00
Dmitry Stogov
149dd625be Special case for last iteration 2007-02-21 14:11:00 +00:00
Antony Dovgal
d2c5721f41 MFH: catch overflow right away 2007-01-20 23:10:02 +00:00
Dmitry Stogov
e470e22e20 - Fixed bug #35106 (nested foreach fails when array variable has a reference).
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
2007-01-10 15:58:08 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Dmitry Stogov
cc895444b1 HashTable copying optimization (Matt Wilmas) 2006-11-08 16:02:03 +00:00
Marcus Boerger
da8b00a5e4 - MFH: Fixed bug #39320 2006-11-03 19:02:16 +00:00
Dmitry Stogov
c42b3bf689 Fixed bug #38315 (Constructing in the destructor causes weird behaviour) 2006-08-24 09:42:35 +00:00
Dmitry Stogov
6624682dff MFH:
- Allowed storing NULL pointers in HashTable
- Optimized zend_hash_reverse_apply()
2006-04-07 10:06:21 +00:00
Antony Dovgal
a3b941642c init variables 2006-02-06 20:37:11 +00:00
Zeev Suraski
b73349dbe4 Fix possibility of a wrong element being deleted by zend_hash_del()
Thanks Stefan!
2006-02-01 01:01:05 +00:00
Andi Gutmans
61e93ccfe8 - Update copyright notices to 2006 2006-01-04 23:53:05 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Dmitry Stogov
d9c1a380ad Fixed bug #28072 (static array with some constant keys will be incorrectly ordered). 2005-07-07 15:16:57 +00:00
Antony Dovgal
a32c1f9eee fix bug #33382 (array_reverse() fails after *sort())
no need to MFH - the bug existed only in HEAD
2005-06-17 10:50:15 +00:00
foobar
9a020fce63 ws 2005-04-25 08:21:15 +00:00
Dmitry Stogov
c78ec1615a Fixed call to estrndup() with invalid length 2005-04-25 06:13:57 +00:00
Marcus Boerger
dcf007c6da - Increase performance of *sort() and some internal sort operations.
# This patch increases the performance of small arrays/hashes by up to ~15%
# The performance increase during the performance talk :-)
2004-07-29 19:18:46 +00:00