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
Andi Gutmans
e5cfb1d05c
- Better stability during premature shutdown of request startup
2004-07-10 07:46:17 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Sascha Schumann
dcfb7638bc
improve a number of zend_debug format strings
2003-08-29 07:34:37 +00:00
Zeev Suraski
0dba58c373
Improve tracking
2003-08-18 21:17:26 +00:00
Zeev Suraski
d2971e506c
Remove bogus patch - the number of elements is unrelated
2003-08-12 06:21:02 +00:00
Marcus Boerger
f77f977d0e
Bugfix 21918
2003-08-11 20:14:25 +00:00
Andi Gutmans
7055fda013
- Fix logic. It was the wrong way around.
2003-07-31 05:08:59 +00:00
Andi Gutmans
8264eedc48
- Fix problem with hash when updating same bucket with data of different
...
sizes one after another.
- Fix number of arguments to read_dimension.
2003-07-30 19:47:39 +00:00
Zeev Suraski
e89977f9d9
Go back to ZE1-like code
2003-07-23 08:56:34 +00:00
Zeev Suraski
cf90932a05
Improve infrastructure of numeric handling of elements in symbol tables.
...
When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
2003-07-22 16:06:07 +00:00
Marcus Boerger
184118d9a9
Make it a macro
2003-07-20 12:23:46 +00:00
Marcus Boerger
9556c6c27e
This is meant to be used in for(;has_more;next)
...
# Probably the name of such functions should be eol (End-Of-List).
2003-07-19 20:04:51 +00:00
Marcus Boerger
892c1fbbe7
Add missing function to ease implementations
2003-07-19 14:19:04 +00:00
Marcus Boerger
4eb6392519
ecalloc doesn't return NULL
2003-06-14 11:32:30 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Sterling Hughes
ae9106521a
move HANDLE_NUMERIC() from the hash table implementation upstream to the
...
places that actually need to use it.
2003-05-23 15:11:15 +00:00
Zeev Suraski
45c12359a9
Fix prototype (may have caused stack corruption)
2003-02-06 00:14:49 +00:00
Zeev Suraski
376d63170b
Add quick_exists()
2003-02-05 13:19:59 +00:00
Zeev Suraski
471947b188
Reimplement PPP properties
2003-02-04 12:12:34 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Andi Gutmans
55e127a6d5
- Commit fix for bug #19566 (I think it's by Marcus :)
2002-11-15 14:25:44 +00:00
Ilia Alshanetsky
c6d60713cb
Revert of previous patch.
2002-11-05 18:22:02 +00:00
Ilia Alshanetsky
0506fa5e6a
If ordered is not set a random compiler assigned value of *p2 would be used,
...
this patch fixes the problem by initializing *p2 to NULL.
2002-11-04 17:26:44 +00:00
Zeev Suraski
91b0d03346
Add tracking for hashtable allocation
2002-09-17 14:04:37 +00:00
Zeev Suraski
88fd5f3f5d
MFZE1
2002-08-17 16:07:26 +00:00
Harald Radi
99c90db11a
make win32 debug output more verbose
2002-08-07 14:47:42 +00:00
Stanislav Malyshev
0e7c1f4609
MFZE1
2002-08-01 16:07:19 +00:00
Andi Gutmans
b291dfad3d
- Fix WS.
2002-07-23 19:29:02 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Sebastian Bergmann
bf5bb84277
MFZE1: make sure the resource-list is always consistent during shutdown (Thies).
2002-04-19 16:53:36 +00:00
Sebastian Bergmann
2697ce689d
MFZE1: Fix imbalance bug (Zeev).
2002-04-19 16:43:27 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Sebastian Bergmann
43c7615c51
MFZE1
2001-10-04 14:18:52 +00:00
Sebastian Bergmann
3bdddb4910
MFZE1
2001-09-19 10:25:04 +00:00
Zeev Suraski
9b3df86e8d
MFZE1
2001-08-20 14:58:52 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Zeev Suraski
c14baeece3
Avoid going over huge lists of functions, classes and constants.
...
Special thanks to the guys from the MS lab for the profiling tools :)
2001-08-02 07:00:43 +00:00
Zeev Suraski
7deb44e36d
Some cleanup
2001-08-02 06:16:20 +00:00
Zeev Suraski
3aa5674a84
TSRMLS fixes
2001-08-02 05:25:29 +00:00
Zeev Suraski
d76cf1da18
More TSRMLS_FETCH work
2001-07-31 04:53:54 +00:00
Zeev Suraski
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
660a09c6da
Fix compile warning
2001-07-21 14:18:53 +00:00
Andi Gutmans
6bd084cb0a
- Remove unused code
2001-07-17 16:10:15 +00:00
Zeev Suraski
563aacdb66
Fix bug #6239
2001-07-15 18:57:43 +00:00
Zeev Suraski
f63367bf16
layout
2001-07-13 12:08:32 +00:00
Thies C. Arntzen
7b7e72d1d2
the resource-lists are now destroyed backwards. this will make sure that
...
resources get destroyed in the opposite order they were created and thereby
db-cursors will always be released before their corresponding connection etc.
this sould not break anything!
2001-07-13 12:05:47 +00:00
Andi Gutmans
b98acd61f1
- Move inline_zend_hash_func() to header file
2001-07-11 16:16:08 +00:00
Andi Gutmans
2f8fa8cf21
- Merge faster hash implementation.
...
- The hash function parameter in hash_init(...) is not used anymore.
- It should be removed but it is "to be decided" if we want to do that now
- or in a major version as it means changing MANY places and third party
- modules might stop working.
2001-07-10 20:31:42 +00:00
Sascha Schumann
ba8af2515e
Fix segfault when using zend_hash_add_empty_element
2001-05-19 14:53:55 +00:00
Zeev Suraski
755207a1e6
Implement zend_hash_add_empty_element() using the existing infrastructure
2001-05-16 17:22:01 +00:00
Sascha Schumann
bb472e7069
Initialize empty pDataPtr to a pseudo value to prevent a pefree on
...
pData.
2001-05-14 10:49:17 +00:00
Sascha Schumann
3efa08aaa8
Some extensions don't associate any data with hash entries,
...
except the key. Prior to this change, a separate chunk of memory
was allocated in that case to store exactly zero bytes (plus
memory manager overhead). We treat that case similar to the
pointer case, but don't copy any data at all (because the pointer
is usually the NULL pointer).
2001-05-11 19:32:01 +00:00
Zeev Suraski
4e71bbed0a
include limits.h if available
2001-04-28 20:21:42 +00:00
Andi Gutmans
acd56b0891
- More whitespace fixes while I'm at it.
2001-04-27 18:53:25 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Zeev Suraski
36eaad252f
Allow get_current_key() not to return the key itself, instead of a duplicate
2000-12-22 12:49:51 +00:00
Zeev Suraski
0fcce4a77a
@* Fixed a possible crash in get_class_methods() (Zeev)
2000-12-22 12:08:04 +00:00
Sascha Schumann
fb87cc8c8e
INIT_DATA/UPDATE_DATA assumed that pData elements of the size of a void
...
pointer would actually be aligned like a void pointer. This lead
to bus errors on architectures which don't allow unaligned 32-bit accesses.
2000-12-06 21:24:10 +00:00
Andi Gutmans
e9887156cf
Don't use 'new' symbol
2000-10-11 19:11:48 +00:00
Zeev Suraski
9aa38aad45
Add zend_hash_merge_ex(), for selective merging
2000-10-11 16:22:40 +00:00
Andi Gutmans
c4fd954b8a
- Another has optimization/fix like the hash_copy one from earlier on
2000-09-28 23:21:08 +00:00
Stanislav Malyshev
56c474cf48
Make hash_copy call copy constructor on a real copy, not on a temp
2000-09-28 15:17:50 +00:00
Zeev Suraski
a650dd8a19
This is probably the oldest bug in PHP :)
...
Luckily it's unlikely we're ever actually bitten by this bug.
2000-07-18 20:08:06 +00:00
Zeev Suraski
1263932a0d
Disable the hash_apply() protection on hashes that persist across requests - it's unsafe
...
because we may be aborted at any point
2000-07-11 14:27:31 +00:00
Zeev Suraski
38cdb8e7b7
Avoid crashing with recursive applies - limit apply nest level to 3 (I'm not aware of a place
...
in which applying recursively on the same hash makes sense with more than one nest level, but
3 should be enough)
2000-06-17 14:11:57 +00:00
Zeev Suraski
bfac4633a5
- Support unordered hash comparisons
...
- Make == perform an unordered comparison with arrays/objects, and === perform an ordered comparison
2000-06-04 21:59:49 +00:00
Zeev Suraski
dae76aa1b5
Support comparisons of arrays (with arrays) and objects (with objects)
2000-06-03 10:34:19 +00:00
Zeev Suraski
0b7a9cea88
- Fix Win32 compilation (Use winsock2.h from now on)
...
- Add lambda() support
2000-06-03 01:49:49 +00:00
Zeev Suraski
8ca13c97c2
Change zend_hash_get_current_key_ex() to also return the string length
2000-05-02 17:52:31 +00:00
Andi Gutmans
6db18997bb
- Nuke hash_*_ptr functions
2000-03-24 11:12:30 +00:00
Andrei Zmievski
ee286febe7
Make zend_hash_move_forward()/zenv_hash_move_backwards() a little smarter.
2000-03-15 16:25:59 +00:00
Andrei Zmievski
a32c54bdbb
Introduced a way to traverse hashes through external pointers.
2000-03-13 15:25:18 +00:00
Zeev Suraski
5e55e47f7f
It's official now...
2000-03-06 05:26:39 +00:00
Zeev Suraski
0ac9536d99
(c) patch
2000-02-19 22:46:42 +00:00
Zeev Suraski
ceba50b6ed
- Fix a nasty bug in the hash, introduced in the recent migration to macros
...
- Make array_init() and friends trackable
2000-02-19 19:21:45 +00:00