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
Andi Gutmans
e578fad099
- Save a function call one very hash_add
2000-02-13 13:31:29 +00:00
Andi Gutmans
bb302a755c
- Make startup a bit faster by changing some hash_update()'s and hash_add()'s
...
to hash_update_ptr()/hash_add_ptr()
2000-02-13 13:22:02 +00:00
Andi Gutmans
920b7b2841
- Fix a couple of potential bugs where we were using emalloc/efree instead
...
of pemalloc/pefree.
- Fix a bug were we potentially would be freeing the key by mistake
2000-02-13 12:45:36 +00:00
Andrei Zmievski
94be61fde5
Made a couple of typedefs for zend_hash_apply_*() calls.
2000-02-11 21:12:49 +00:00
Zeev Suraski
9f51f154aa
- Stop passing list/plist to internal functions
...
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks
2000-02-05 15:11:24 +00:00
Thies C. Arntzen
d6afe4bac7
took out zend_hash_pointer_update() & zend_hash_pointer_index_update_or_next_insert() - i really prefer link-errors instead of runtime-errors, don't you?
2000-02-01 10:40:05 +00:00
Zeev Suraski
c3677ca907
Add some order...
2000-01-20 14:26:31 +00:00
Zeev Suraski
92633067af
Indentation fixes
2000-01-20 05:27:57 +00:00
Andi Gutmans
af2ef0830a
- Optimize zend_hash_del a tiny bit.
2000-01-19 19:47:16 +00:00
Andi Gutmans
aa73f6b68f
- Hopefully fix the hash problem.
2000-01-19 19:44:32 +00:00
Andi Gutmans
7271c050a3
- Hrm I'm not concentrating
2000-01-19 18:14:20 +00:00
Andi Gutmans
99783fe795
- Actually the destructor should run after the data is already detached
...
from the hash but before the bucket is freed.
2000-01-19 18:12:05 +00:00
Andi Gutmans
d3690efffe
- Rollback hash_apply and friends. They assume now that hash_del is reentrant
...
as it first applies the destructor and only later nukes the bucket
2000-01-19 18:05:16 +00:00
Andi Gutmans
b7b97df93f
- Run destructor before the hash structure is modified, thus, making
...
hash_del, reentrant (BLOCK_INTERRUPTIONS needs to be made a counter now).
2000-01-19 17:39:55 +00:00
Andi Gutmans
58fb1a3922
- Undo a bug we introduced. (Another one out there).
2000-01-19 17:31:33 +00:00
Thies C. Arntzen
bbe2172c38
use defines
2000-01-17 19:17:58 +00:00
Zeev Suraski
19d978d1c7
Get rid of the IsPointer functionality in the hash.
2000-01-17 18:45:46 +00:00
Zeev Suraski
a965dc5b40
- Fixes a newly introduced bug in the hash
2000-01-17 18:09:03 +00:00
Zeev Suraski
62114c1806
Destructors no longer return ints, the low level problem it was intended to solve is long gone now...
2000-01-17 17:33:37 +00:00
Zeev Suraski
ee08b81aab
- Make zend_hash_apply() (and friends) reentrant and much, much quicker
...
- Introduce zend_hash_graceful_destroy(), which allows the destructor functions to
use zend_hash_apply() and/or zend_hash_graceful_destroy()
- Switch to zend_hash_graceful_destroy() in the resource list shutdowns
2000-01-16 20:59:03 +00:00
Thies C. Arntzen
bd375505f7
make the ht->inconsistent stuff less ugly:)
2000-01-16 09:45:10 +00:00
Thies C. Arntzen
c93a189028
if ZEND_DEBUG mode is on we'll now see warnings when a HashTable is accessed
...
while it's inconsistent.
Zeev, Andi - you welcome to revert this patch if you don't like it - i find it
useful! accesssing inconsistent hashtables is one of the hardest things to track!
2000-01-15 13:40:17 +00:00
Andrei Zmievski
3964c92f8b
Made zend_hash_rehash() callable from outside.
1999-11-04 21:02:35 +00:00
Andrei Zmievski
e956a266e2
*** empty log message ***
1999-10-15 20:37:53 +00:00
Andrei Zmievski
8864313c48
Modified zend_hash() to accept a pointer to sort function.
1999-10-11 21:30:23 +00:00
Stig S. Bakken
009025e00d
* header file cleanup
...
* fixed --enable-thread-safety build for UNIX
I don't have a Win32 environment available, could someone please try
compiling on Win32 to see if I got all the header file stuff right there?
1999-09-06 16:14:08 +00:00
Andi Gutmans
746ce67b66
- Add hash_apply_with_arguments()
1999-08-25 19:02:13 +00:00
Andi Gutmans
741ca16711
- Fixed various inheritance problems & Andrey's leak
1999-07-28 17:59:55 +00:00
Zeev Suraski
8d1de13aef
0.91 update
1999-07-19 20:02:12 +00:00
Zeev Suraski
b5b1117760
License update
1999-07-16 14:58:16 +00:00
Andi Gutmans
44947bf563
Ok, so we do have to lock in there
1999-07-10 18:46:20 +00:00
Zeev Suraski
03d33b2f88
More locking work
1999-07-10 09:29:02 +00:00
Zeev Suraski
81d901b14d
Step 1 in nuking the garbage collector:
...
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0
1999-07-09 17:24:47 +00:00
Zeev Suraski
6abe9c34d9
* Support recoverable failure from erealloc()
...
* Fix the shutdown code on an unrecoverable erealloc() failure
1999-07-09 11:03:56 +00:00
Zeev Suraski
fd4650b540
Add zend_hash_get_current_key_type()
1999-06-07 22:49:33 +00:00
Zeev Suraski
bcc1337d8c
Support overwrite mode in zend_hash_merge()
1999-05-29 18:59:58 +00:00
Zeev Suraski
b0bfa458b5
* Fix all hash checks that checked Bucket.arKey for NULL, when it was changed
...
to char[1], these checks should have been changed to Bucket.nKeyLength==0
* Support runtime declaration of functions. I ended up changing the grammar
to catch top level functions vs. nested functions. The reason is simple -
if we don't have functions properly declared at compile-time, function calls
cannot be resolved at compile time, and have to be resolved at runtime, which
ends up being much much slower (without the optimizer, that is).
It's no biggy though, the grammar change isn't that bad.
1999-05-15 15:47:24 +00:00
Andi Gutmans
573b46022c
Zend Library
1999-04-07 18:10:10 +00:00