Ilia Alshanetsky
61fd6bbebf
MFB: Fixed memory leak
2006-07-18 22:45:56 +00:00
Marcus Boerger
cc3d932875
- Fix #38125 undefined reference to spl_dual_it_free_storage
2006-07-17 21:09:10 +00:00
Dmitry Stogov
05dfd8d80b
ZTS fix
2006-07-17 06:46:19 +00:00
Marcus Boerger
754a741248
- Upgrade RegexIterator capabilities, see docu
2006-07-16 20:52:20 +00:00
Antony Dovgal
4ee32398b7
MFB: plug a leak
2006-06-06 20:12:46 +00:00
Marcus Boerger
f876597452
- Fix handling of third parameter to iterator_apply()
...
- Add test
2006-05-26 01:40:57 +00:00
Marcus Boerger
f0e9f6e4f9
- Add function iterator_apply()
2006-05-26 00:37:33 +00:00
Marcus Boerger
e843518509
- More exception related issues
2006-05-21 17:36:52 +00:00
Marcus Boerger
c7bf318305
- Make code exception safe
...
- Make RecursiveRegexIterator::getChildren pass regex to inner ctor
- Fix CachingIterator::__toString() in TOSTRING_USE_KEY mode
- Add CachingIterator::getCache()
- Add tests
2006-05-21 17:27:12 +00:00
Marcus Boerger
97e798257a
- Remove duplicate error message and add new test
2006-05-21 12:42:00 +00:00
Marcus Boerger
a6c21ae746
- No need to fetch ce twice
2006-05-20 20:46:11 +00:00
Marcus Boerger
9e230861ca
- No need to keep object alive, iterator api is taking care of that already
2006-05-20 18:48:43 +00:00
Marcus Boerger
05de29995f
- Provide a generic c-level iterator apply function
...
- Base iterator_to_array() and iterator_count() on it
- Add a testcase
# Somehow there is an issue with exceptions in __destruct() here
2006-05-20 13:23:00 +00:00
Marcus Boerger
4439e2c530
- Fixed CachingIterator issues with string conversion/__toString()
...
Partly by adding new mode TOSTRING_USE_INNER
2006-05-18 21:41:37 +00:00
Marcus Boerger
59bf03c6a8
- Fixed Bug #37457 (Crash when an exception is thrown in accept() method of FilterIterator)
2006-05-16 08:19:56 +00:00
Antony Dovgal
d5c7ea7733
fix #37416 (iterator_to_array() hides exceptions thrown in rewind() method)
2006-05-12 09:42:19 +00:00
Andrei Zmievski
a331a4d5f1
MFB
2006-05-10 16:51:18 +00:00
Antony Dovgal
1262002a95
MF51:
...
AIX #define's accept as naccept
add a workaround
2006-04-13 13:21:59 +00:00
Antony Dovgal
6a53a49c8b
MF51: fix bug #36898 (__set() leaks in classes extending internal ones)
...
Added:
ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)
2006-03-29 15:08:52 +00:00
Marcus Boerger
31513f9a8b
- Make IteratorIterator base class of most SPL iterators
2006-03-26 00:22:45 +00:00
Marcus Boerger
b2b921a10f
- Fix arginfo for (Recursive)RegExIterator
2006-03-23 22:25:46 +00:00
Marcus Boerger
51044eabd4
- Missed 'proto'
2006-03-06 22:22:07 +00:00
Marcus Boerger
1050956ad1
- Proto fixes
2006-03-06 09:47:03 +00:00
Marcus Boerger
c7adc4a54e
- Make the ctor static and not inline
2006-03-04 17:01:16 +00:00
Marcus Boerger
ce20de5e46
- Fix issue with LimitIterator and bounds checking
2006-03-03 23:34:49 +00:00
Marcus Boerger
7bb0ca9ce6
- Fix SEGV with AppendIterator when base class constructor was not called
...
- Generic check to prevent double call to constructors of SPL iterators
2006-03-03 21:35:16 +00:00
Dmitry Stogov
0f1209ab3d
Portable unicode string API:
...
- use the same type (int) for zval.value.usr.len and zval.value.str.len
- use union "zstr" as char*/UChar* mixture instead of void*
- Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
- nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Dmitry Stogov
09ca61c125
Made server wide switch for unicode on/off (according to PDM).
2006-02-13 10:23:59 +00:00
Antony Dovgal
96543b01ad
initialize variables and reduce the number of warnings
2006-02-06 11:28:20 +00:00
Marcus Boerger
c67d8b2152
- Iterator API was changed
2006-02-05 23:31:47 +00:00
Marcus Boerger
2a2eae219c
- Fix error message
2006-01-23 02:26:15 +00:00
Antony Dovgal
4f07cff61c
fix typo (and possible segfault)
2006-01-18 23:39:00 +00:00
Dmitry Stogov
227295a4f1
Unicode stuff is changed according to decision maden on PDM.
...
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Antony Dovgal
8f86b6d145
avoid segfaults
2006-01-15 16:05:49 +00:00
Marcus Boerger
e16171a6b1
- MFB
2006-01-01 19:57:27 +00:00
foobar
251c5173fd
bump year and license version
2006-01-01 13:10:10 +00:00
foobar
6102ec3a06
- Remove wrong inline usage (and fix bug #35796 )
2005-12-25 16:03:38 +00:00
Marcus Boerger
2f2711acfd
- MFB Fix leak
2005-12-22 00:38:05 +00:00
Marcus Boerger
b6caa5e369
- MFB Fix memleak
2005-12-22 00:24:49 +00:00
Antony Dovgal
320b5ce461
MFB: more SPL leak fixes
2005-12-20 12:41:38 +00:00
Marcus Boerger
1a7b411f9a
- MFH IteratorIterator::__construct() fixes
2005-12-19 00:55:40 +00:00
Antony Dovgal
099ab8ac8d
MFB: fix leak in SPL iterators
2005-12-18 22:53:18 +00:00
foobar
5f44819b72
- function_entry -> zend_function_entry (php3 legacy!)
2005-12-06 02:00:07 +00:00
Stanislav Malyshev
1a60646023
MF5.1: fix reallocation bug
2005-12-05 20:08:19 +00:00
Antony Dovgal
e658842761
fix #35197 (Destructor is not called) and similar issues in other extensions
2005-11-14 21:52:27 +00:00
Marcus Boerger
d73184b6ba
- The iterator base interface is Traversable not IteratorAggregate
2005-11-01 21:17:51 +00:00
Marcus Boerger
dd702a23dc
- Fix stupid unicode warnings
2005-10-29 15:44:37 +00:00
Marcus Boerger
5c4d1edef3
- Add AppendIterator::getIteratorIndex
...
- Add AppendIterator::getArrayIterator
2005-10-29 15:37:57 +00:00
Dmitry Stogov
2b5cd0e756
Unicode support
2005-10-28 08:07:17 +00:00
Marcus Boerger
722613aeb8
- Use pcre_cache_entry* rather than pcre* directly for refcounting
...
# This prevents a theoretical crash when using too many regexes
2005-10-12 22:52:09 +00:00
Marcus Boerger
68f663eaf8
- Provide const RegExIterator::USE_KEY and actually use it in the test
2005-10-11 00:18:32 +00:00
Marcus Boerger
ac92e5988c
- Add (Recursive)RegExIterator
2005-10-10 23:58:42 +00:00
Marcus Boerger
8b14aded85
- MFB Missing constants
2005-10-05 21:57:45 +00:00
Marcus Boerger
6ccd7ef74d
- Update cast_object handlers
2005-10-05 19:12:44 +00:00
Marcus Boerger
086912dfff
- Allow to use currnet() and key() in __toString()
2005-10-03 10:08:56 +00:00
Marcus Boerger
7e1763a115
- Implement RecursiveIteratorIterator::setMaxDepth()/getMaxDepth()
2005-09-25 12:01:31 +00:00
Marcus Boerger
02038b4ac4
- Rename 'CachingRecursiveIterator' to 'RecursiveCachingIterator' so that
...
all of those follow the naming scheme 'Recursive<*>Iterator'
2005-09-18 16:51:24 +00:00
Marcus Boerger
445e382454
- Move RecursiveArrayIterator into .c
...
- Add ability to control iterator class of ArrayObject
- Implement option to make CachingIterator cache all read elements
- Implement ArrayAccess to CachingIterator to access cached elements
- Update docu
- Update tests
2005-09-18 11:34:36 +00:00
Marcus Boerger
8aa7f36a3b
- Rename Observer to SplObserver
...
- Rename Subject to SplSubject
- Move SPL constants to class constants
- Update docu
2005-09-15 03:31:37 +00:00
Dmitry Stogov
6b622046dc
zend_is_callable() and zend_make_callable() were changed to return readable function name as zval (instead of string).
2005-08-22 12:22:16 +00:00
Marcus Boerger
a24a21ecf0
- No c comment (+ old non unicode way not needed any longer)
2005-08-15 19:16:30 +00:00
Dmitry Stogov
909e0a1c4e
Unicode support
2005-08-15 17:29:07 +00:00
Antony Dovgal
d09b1b1e89
shut up warnings
2005-08-12 20:58:28 +00:00
Sebastian Bergmann
52b001cc05
ZTS fixes.
2005-08-12 14:08:28 +00:00
Dmitry Stogov
e1627558ed
Unicode support
2005-08-12 13:09:58 +00:00
Dmitry Stogov
21c1109e0c
Unicode support
2005-08-12 11:29:33 +00:00
Andrei Zmievski
264cec8be6
Unicode support.
2005-08-11 23:36:07 +00:00
Marcus Boerger
9e38d04a7c
- Add RecursiveFilterIterator
...
- Derive ParentIterator from RecursiveIterator
# Actually brought up by a user. It is of course better to filter first and
# do the recursion only for accepted values. Otherwise you would iterate
# children and possibly recurse into them just to ignore them later anyway.
2005-08-10 19:48:48 +00:00
foobar
23e671a51e
- Bumber up year
2005-08-03 14:08:58 +00:00
Marcus Boerger
0b34e041e3
- Before we later run into BC trouble we split flags into two params mode
...
and flags now before branching for 5.1.
2005-07-28 21:09:02 +00:00
Marcus Boerger
a935b06236
- Fix issues with iterators and excpetions
...
# update documentation
#
# In 5.2 we need to implement an event handler onException() to be invoked
# on exceptions during getChildren() calls. Its default implementation
# would simply rethrow the exception if the flag is not set and delete if
# if it was set. To do so the exceptions refcount needs to be increased
# before calling zend_clear_exception() to keep the exception alive but
# clear the control information.
#
# As a side note this is alos the easy solution to allow multi exception
# handling: Simply clear the engine's exception info and add a property
# called $previousException to the base exception and assign it from the
# already pending one.
2005-07-27 22:19:01 +00:00
Dmitry Stogov
aedbdb087d
Allowed return by refrence from internal functions
2005-06-16 14:56:13 +00:00
Marcus Boerger
626d781afd
- Execute both RecursiveIteratorIterator::beginChildren() and endChildren()
...
on the same level (while the actual child is available).
2005-05-14 16:40:58 +00:00
Marcus Boerger
530917b463
- Make iterator_to_array() accept Traversable
2005-03-31 21:49:47 +00:00
Marcus Boerger
f9de3fd02b
- Allow to hook into RecursiveIteratorIterator's child handling
...
- Better=faster function caching for RecursiveIteratorIterator
- Check for exceptions and fix check for illegal return values
- Add UnexpectedValueException
- Add docu
2005-03-12 23:03:33 +00:00
Marcus Boerger
16f0329a52
- Fix problem with exception in other methods, too
2005-03-06 23:07:43 +00:00
Marcus Boerger
0d1e43711a
- Fix problem with exceptions in hasChildren calls
2005-03-06 22:57:05 +00:00
Marcus Boerger
76c5d53993
- Need to store class entry
2005-03-01 10:05:12 +00:00
Marcus Boerger
5f1c3f4a7e
- Allow to convert traversable into Iterator
2005-02-23 01:03:16 +00:00
Marcus Boerger
3c36e73b95
- bugfix 31348
2005-01-24 20:21:11 +00:00
Antony Dovgal
6528b1b0b4
more typos
2004-12-29 16:11:42 +00:00
Antony Dovgal
0460f73db2
MFB: fix typos
2004-12-29 13:53:40 +00:00
Marcus Boerger
9c0f5e8887
- Use appropriate exception class where possible
2004-11-11 19:36:27 +00:00
Marcus Boerger
5dbb0aaa24
- Drop debug message
2004-11-11 19:31:27 +00:00
Marcus Boerger
31165806f8
- Simplify construction of RecursiveIteratorIterator
2004-11-08 13:44:34 +00:00
Frank M. Kromann
6a15a50d35
oops missed a couple!
...
Add termination block to function table. This will allow the engine to stop registreting functions at the end.
This fixes the - duplicate name - warning
2004-11-03 01:20:16 +00:00
Frank M. Kromann
93da44811e
Add termination block to function table. This will allow the engine to stop registreting functions at the end.
...
This fixes the - duplicate name - warning
2004-11-03 01:16:10 +00:00
Marcus Boerger
e1dfbfc695
- Don't call beginChildren/endChildren if they don't do anything
2004-11-01 23:16:43 +00:00
Marcus Boerger
533e39ecf7
- Cache function lookup
2004-11-01 23:02:10 +00:00
Marcus Boerger
3b7e24cab2
- Add RecursiveIteratorIterator::beginChildren(), endChildren()
2004-11-01 22:54:12 +00:00
Marcus Boerger
2ce7bcd742
- Allow direct access to spl class entries (SPL cannot be build shared)
2004-11-01 20:57:23 +00:00
Marcus Boerger
bd40510b62
- Two new exceptions
...
- Make use of new exception classes
2004-11-01 17:39:59 +00:00
Marcus Boerger
b9470609ad
- Minor fixes
...
- Implement AppendIterator in C
2004-11-01 00:26:59 +00:00
Marcus Boerger
9626e9859a
- Implement EmptyIterator in C
2004-10-31 20:59:39 +00:00
Marcus Boerger
de3a8ea3e1
- Implement InfiniteIterator in C
2004-10-31 19:49:18 +00:00
Marcus Boerger
a872cb0d8d
- Aggregate inner iterator for RecursiveIteratorIterator
2004-10-31 19:05:19 +00:00
Marcus Boerger
90012aa3cc
- Implement classes IteratorIterator and NoRewindIterator in C
2004-10-31 18:43:00 +00:00
Marcus Boerger
861bad634a
- Fix inner iterator aggregation
2004-10-30 19:12:14 +00:00
Marcus Boerger
8bf02ee681
- Fix protos
2004-10-30 10:18:10 +00:00
Marcus Boerger
7c4760d421
- Fix proto
2004-10-30 10:04:37 +00:00