George Schlossnagle
3d7283b94f
more of Timm's patches, and mod authors line to give credit where credit is due.
2003-07-03 05:33:23 +00:00
30b5cbd151
ChangeLog update
2003-07-03 00:30:19 +00:00
Marcus Boerger
5b54322dc7
Temporairy solution to overcome shutdown propbelms with objects that have
...
hidden destructors.
#
# If we set the error level to E_ERROR what we must to to be correct and an
# object needs to be automatically destructed in shutdown process then the
# exit would cause memory corruption and a SEGV.
2003-07-02 23:58:47 +00:00
Marcus Boerger
669016c724
Reorganize this a bit to ensure the object memory is destructed before
...
showing the error.
2003-07-02 23:53:53 +00:00
Marcus Boerger
d007a6ce5e
Bug #24399 : is_subclass_of(): fix memleak, too
2003-07-02 21:57:57 +00:00
Zeev Suraski
eb224d4a5f
Throughly fix scoping change. Fixes, among other things, bug #24403
2003-07-02 17:48:18 +00:00
Andi Gutmans
02c7aacf83
- Nuke CG(in_clone_method)
2003-07-02 16:52:07 +00:00
Zeev Suraski
d245c52e0c
Fix for bug #22367 .
...
Heads up - this will break syntactical compatiblity, return($foo) will
not work with functions that return references - return $foo should be used
instead. It never worked well before, and caused all sorts of odd bugs.
It *might* be possible to support this specifically, albeit unlikely
2003-07-02 15:06:10 +00:00
Sterling Hughes
92e9e0ca7e
optimize the case where the object is really a class name, as we don't need
...
to set EX(object) here.
2003-07-02 14:44:41 +00:00
Sterling Hughes
3fc83023b6
Timm Friebe points out that object detection should be done regardless of
...
the function pointer
2003-07-02 14:33:41 +00:00
Marcus Boerger
74a0f6c8ab
Finally fix property cloning and fix the tests accordingly.
...
# The default behaviour is to copy all properties with all current values
# from the old object. But if __clone is overwritten then only the default
# properties are cloned with their correct default values. So we keep
# the type system intact and also allow real __clone overwriting now.
2003-07-02 07:24:11 +00:00
Sterling Hughes
c491b0a672
Fix bug #24445
2003-07-02 04:31:33 +00:00
ed96d7bff0
ChangeLog update
2003-07-02 00:30:25 +00:00
Marcus Boerger
5500287432
Fix __clone().
...
# This is somewhat discussable. I copied all properties from the old to the
# new object. But for type correctness we only need to copy the properties
# declared in the class and its parents.
#
# Also someone might want to take care about static and const members.
2003-07-01 23:29:36 +00:00
Marcus Boerger
e0a68b1ee0
Use both destructor and shutdown
2003-07-01 23:06:40 +00:00
Marcus Boerger
bef4696d3e
small bugfix
2003-07-01 22:47:41 +00:00
Marcus Boerger
2c72deee2c
Rename test to correct extension
2003-07-01 21:59:46 +00:00
Marcus Boerger
40dd3f4f88
__clone might not be defined
2003-07-01 21:30:21 +00:00
Marcus Boerger
a04cba504f
Fix __clone visibility
2003-07-01 20:02:27 +00:00
Marcus Boerger
35c40932e8
Fix destructor visibility
2003-07-01 19:13:50 +00:00
Derick Rethans
d2b1b6c700
- Added test for bug #24436
2003-07-01 19:12:56 +00:00
George Schlossnagle
c36a59cfd9
Timm Friebe's patches for code celanup and additional functions.
2003-07-01 18:41:42 +00:00
foobar
82194d2766
Missing .cvsignore, broken test, renamed zend2.php -> zend2.php.txt
2003-07-01 15:56:07 +00:00
Sebastian Bergmann
fff7ef2f6c
ZTS fixes.
2003-07-01 04:25:29 +00:00
George Schlossnagle
4edd9505fe
more incremental changes. add anything that needs a class factory.
2003-07-01 04:10:57 +00:00
George Schlossnagle
9c26571b37
all the easy parts of Reflection_Class
2003-07-01 02:31:21 +00:00
d699324624
ChangeLog update
2003-07-01 00:30:09 +00:00
Shane Caraveo
5efc65f910
this fixes including this header in a c++ file (vs6)
2003-06-30 20:33:02 +00:00
Sterling Hughes
778d8c8bf1
nuke "main" as a reserved keyword
2003-06-30 20:24:26 +00:00
Andi Gutmans
288dacca0c
- ZE coding style requires if ( instead of if(
2003-06-30 20:22:35 +00:00
Sebastian Bergmann
5ee72bb478
ZTS fixes. Remove unused local variables.
2003-06-30 20:17:01 +00:00
George Schlossnagle
aa96d17022
added support for Reflection_Function, the first part of
...
the reflection api
2003-06-30 20:03:56 +00:00
Sterling Hughes
1d70191ab1
move the check down a little so it catches all cases
2003-06-30 19:52:47 +00:00
Sterling Hughes
d0bd54ce6a
Fix bug #24399 from an excellent test case by edin
2003-06-30 19:11:01 +00:00
Zeev Suraski
53acb1814e
Semantically it's a refcount increase, not a lock...
2003-06-30 13:51:48 +00:00
Zeev Suraski
6f9d0da2e5
Fix 'global' implementation (fixes, at least, bug #24396
2003-06-30 13:47:12 +00:00
Sterling Hughes
dae3fefd10
revert back the optimization for now.
2003-06-30 01:41:15 +00:00
68749958ab
ChangeLog update
2003-06-30 00:30:21 +00:00
Ilia Alshanetsky
9754535255
Fixed bug #24279 (__get() crash when no value is returned)
2003-06-29 23:41:49 +00:00
Sebastian Bergmann
4aa81c9d72
Remove namespace references.
2003-06-29 09:40:23 +00:00
Sterling Hughes
f605f0b708
Very simple, but very effective optimization. Provides a signifigant speed
...
improvement to matches done via '=='. This checks that the lengths of two
strings are equal before performing a memcmp() on them.
2003-06-29 01:49:10 +00:00
b6bc8b9edf
ChangeLog update
2003-06-24 00:30:11 +00:00
Zeev Suraski
bc4c7c6a6d
Fix crash :)
2003-06-23 22:14:38 +00:00
Stanislav Malyshev
c3fb1eac15
FIx leak
2003-06-23 14:48:59 +00:00
d520d2b805
ChangeLog update
2003-06-23 00:31:49 +00:00
Zeev Suraski
cbec89a358
Fix complex expressions for class names in NEW
2003-06-22 10:50:43 +00:00
Zeev Suraski
f263aecc8e
Simplify
2003-06-22 10:12:25 +00:00
39c3b7a184
ChangeLog update
2003-06-22 00:31:09 +00:00
Marcus Boerger
c8bebdaf67
WS
2003-06-21 21:56:44 +00:00
Marcus Boerger
60c7abac61
Add final classes
2003-06-21 21:56:06 +00:00
ccfb4c316e
ChangeLog update
2003-06-17 00:31:41 +00:00
Stanislav Malyshev
b48a86581a
no need to init zval - assignment will init
2003-06-16 15:43:40 +00:00
Stanislav Malyshev
f205abb3f8
Fix bug #22592 - cascading assignments to string offsets
2003-06-16 15:41:02 +00:00
Stanislav Malyshev
f57ac82bb0
support for self:: and parent:: constants
2003-06-16 10:16:50 +00:00
Stanislav Malyshev
4dcc1ef66c
fix lambda function static vars (related to #17115 )
2003-06-16 09:59:02 +00:00
0e4f73ee54
ChangeLog update
2003-06-16 00:31:04 +00:00
Sebastian Bergmann
2c7ebe557f
Fix ZTS build.
2003-06-15 15:34:00 +00:00
Stanislav Malyshev
b81873134b
Fix bug #23279 - exception handler exits after first function call
2003-06-15 15:07:55 +00:00
Stanislav Malyshev
fe1ef91e77
No need to duplicate code - zend_get_constant() knows to
...
handle class constants now
2003-06-15 14:46:15 +00:00
Stanislav Malyshev
95a936becc
Fix bug #18872 - Improper handling of class constants used as default
...
function argument values
2003-06-15 14:42:39 +00:00
Stanislav Malyshev
4a8c31d6c9
set ending \0 for string
2003-06-15 14:40:38 +00:00
Stanislav Malyshev
8cd9792375
Fix bug #23384 - static class::constant constants should now
...
work in static & array expressions.
2003-06-15 13:58:50 +00:00
Stanislav Malyshev
efafae1427
Fix bug #21800 - initialize opcode handlers in interactive mode
2003-06-15 11:44:30 +00:00
768ac8de32
ChangeLog update
2003-06-15 00:31:02 +00:00
Marcus Boerger
4eb6392519
ecalloc doesn't return NULL
2003-06-14 11:32:30 +00:00
Marcus Boerger
ceb91fba65
Bugfix #24182 : va_arg macro error in Zend/zend.c
2003-06-14 09:25:36 +00:00
a5cc34d6f0
ChangeLog update
2003-06-11 00:31:17 +00:00
foobar
d0bfc137df
- Missing $Id$ tag
2003-06-10 22:39:29 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
61dbfa7624
ChangeLog update
2003-06-10 00:31:08 +00:00
Wez Furlong
7959b2d7b0
Fix for Bug #23951
2003-06-09 17:02:32 +00:00
Stanislav Malyshev
c68924dcbc
remove NS leftover
2003-06-09 14:05:12 +00:00
Zeev Suraski
8d2a4e04ae
Fix bogus implicit declarations of properties (squash bug #23671 )
2003-06-09 13:51:53 +00:00
Stanislav Malyshev
565985acfc
Support 'self' and 'parent' in call_user_func()
2003-06-09 10:55:37 +00:00
Zeev Suraski
910dff4c2b
Fix indirect reference calls to bogus function names
2003-06-09 07:39:55 +00:00
866bce3414
ChangeLog update
2003-06-09 00:30:58 +00:00
foobar
7f52928ea5
ws
2003-06-09 00:15:11 +00:00
Zeev Suraski
636e9cc6a4
Fix casing issues in access level checks
2003-06-08 19:28:29 +00:00
Zeev Suraski
d329ce93f2
Nicer handling of protected/private members in print_r()
2003-06-08 18:53:58 +00:00
Zeev Suraski
faefdb7bdd
Fix handling of object property assignments in switch expressions
...
(bug #23925 )
2003-06-08 18:52:53 +00:00
Zeev Suraski
4abaac8c2f
Fix set_error_handler()
2003-06-08 14:00:11 +00:00
06d6909c58
ChangeLog update
2003-06-07 00:31:14 +00:00
Sascha Schumann
3d5ecc112b
mfb #24025 fix
2003-06-06 12:12:25 +00:00
2cf370142d
ChangeLog update
2003-06-05 00:30:46 +00:00
Stanislav Malyshev
b4fcdaedee
fix non-ZTS build
2003-06-04 09:09:47 +00:00
Sebastian Bergmann
f26c5f9ce4
Fix segfault. Again.
2003-06-04 08:52:43 +00:00
Stanislav Malyshev
039c174337
rm namespace leftovers
2003-06-04 08:16:55 +00:00
Sebastian Bergmann
d74d05f431
Fix segfault. #Hopefully not a Voodoo Fix[TM].
2003-06-04 07:46:22 +00:00
5c2b048135
ChangeLog update
2003-06-03 00:31:04 +00:00
Sebastian Bergmann
572504845d
Leftover.
2003-06-02 15:53:09 +00:00
Sebastian Bergmann
1fe874fbb8
Leftover.
2003-06-02 15:42:34 +00:00
Stanislav Malyshev
f7f5a5ea6b
MEGA-patch: namespaces are R.I.P.
2003-06-02 12:13:11 +00:00
6fc0636581
ChangeLog update
2003-06-02 00:30:46 +00:00
Marcus Boerger
7e2f7b06b5
No nested classes
2003-06-01 19:18:34 +00:00
Marcus Boerger
c3dd93fb4a
Add some ZE2 bug tests
2003-06-01 18:35:29 +00:00
Marcus Boerger
a023c1034b
Bugfix #23670 : implements and extends cause Apache 2 crash
2003-06-01 17:28:52 +00:00
Marcus Boerger
53dae40d5a
Do it correct always
2003-06-01 16:20:23 +00:00
Marcus Boerger
7463e7239b
Defining it once is enough
2003-06-01 11:15:01 +00:00
d40e85bdc6
ChangeLog update
2003-06-01 00:30:54 +00:00
Marcus Boerger
9e4286112e
Fix init shutdown
2003-05-31 19:21:52 +00:00
Sterling Hughes
5bb29cfaeb
revert the function call caching patch until a new solution is decided
...
upon.
2003-05-31 18:31:28 +00:00
Marcus Boerger
5457e34273
Fix constants (noticed by David Brown <dave@codewhore.org>)
2003-05-31 17:24:20 +00:00
Marcus Boerger
05a217707f
c->name_len already contains the '\0'
2003-05-31 15:57:59 +00:00
3240dce99c
ChangeLog update
2003-05-31 00:30:49 +00:00
97e21d21d0
Update
2003-05-30 18:39:38 +00:00
Stanislav Malyshev
95a3fd7b3c
fix crash on exceptions when return value of the inside function is used
2003-05-30 10:05:29 +00:00
78b5b96d17
ChangeLog update
2003-05-30 00:30:57 +00:00
Marcus Boerger
21d32c2430
Fix ~ operator in class constants.
2003-05-29 19:27:11 +00:00
Marcus Boerger
472cc5b9f3
Faster interface inheritance & faster inheritance checks
2003-05-29 19:00:40 +00:00
Marcus Boerger
afb748d17a
CS
2003-05-29 12:59:43 +00:00
Wez Furlong
15fd642525
Fix Bug #23285 (Potential Stack Overflow in zendlex).
2003-05-29 09:01:55 +00:00
35a76b2a8a
ChangeLog update
2003-05-29 00:30:48 +00:00
Sterling Hughes
d919f18607
no reason to do this at runtime
2003-05-28 22:56:56 +00:00
Sterling Hughes
88b2f89eee
Cache function call lookups with loops (store in a temporary variable on the
...
result opline).
Assuming lazy concensus on message that GeorgeS sent to the list last week
2003-05-28 20:42:40 +00:00
d20e82daf0
ChangeLog update
2003-05-28 00:30:50 +00:00
Sterling Hughes
ae2bfb7880
Assume lazy consensus regarding the cast_object() patch. *Only* implemented
...
from a internals perspective. This callback has been very useful for both
ext/mono and ext/simplexml
2003-05-27 18:52:25 +00:00
119e150189
ChangeLog update
2003-05-27 00:30:59 +00:00
Marcus Boerger
955460a319
Add pseudo constant __METHOD__ to easily report namespace::class::method.
...
# This is especially good for tests. Since it does not draw away from the
# real issues and nicely reports what is needed to identify a method.
2003-05-26 20:45:22 +00:00
07adb2e19f
ChangeLog update
2003-05-24 00:30:49 +00:00
Marcus Boerger
b1b8ed64dc
Revert to sizeof()
2003-05-23 18:37:36 +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
9b08c569c6
ChangeLog update
2003-05-23 00:30:53 +00:00
Marcus Boerger
475594c861
No need to copy here unless implicit_clone is active (noticed by rob)
2003-05-22 19:13:20 +00:00
f31389a956
ChangeLog update
2003-05-22 00:30:45 +00:00
Marcus Boerger
66b9125968
Make use optimized string lowering
2003-05-21 22:57:51 +00:00
Marcus Boerger
402f5f7a0d
Use same parameter order as strcpy()
2003-05-21 22:36:09 +00:00
Marcus Boerger
7af8eadd57
Make zend_str_tolower_copy() a copy function (like stccpy).
...
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.
2003-05-21 21:59:40 +00:00
foobar
bec958114b
Fixed bug #23619 (set_error_handler() registered handler not called for object instances). (Jani, waboring@qualys.com)
2003-05-21 21:42:25 +00:00
Sterling Hughes
5619166fe4
optimize loops. The check only exists for integers because that's the more
...
common optimization, and you actually lose performance if you check for
a double too (wierd but true).
2003-05-21 18:46:34 +00:00
Sterling Hughes
d824cd3309
add some logic to detect zend_mm, which is really only useful when thread
...
safety support is enabled.
2003-05-21 17:54:57 +00:00
ec2c98b933
ChangeLog update
2003-05-21 15:46:35 +00:00
Sterling Hughes
654f141e1c
leave this off until its more ready/stable
...
php5 actually beats php4.3.* in my benchmarks now
# make sure to recompile zend_alloc.c
2003-05-21 12:22:24 +00:00
Sterling Hughes
d141ffd9de
use zend_str_tolower_copy()
2003-05-21 12:15:33 +00:00
Sterling Hughes
b5ca4de525
Bottom drawer optimization to avoid this comparison, but this OP is executed
...
quite often (all of the fetch_* ops)
2003-05-21 11:48:55 +00:00
Sterling Hughes
34087ad2b5
bah humbug, use the pointer based version, which turns out to be an instruction
...
faster
2003-05-20 22:31:15 +00:00
Sterling Hughes
7c7d14a413
use pointer arithmetic for the normal zend_str_tolower()
2003-05-20 20:39:58 +00:00
Marcus Boerger
851bd22f82
No need to copy the zval unless __clone() is called
2003-05-20 20:20:57 +00:00
Sterling Hughes
3079bb1bda
make this faster and sexier
2003-05-20 19:09:33 +00:00
Sterling Hughes
54764e9848
use the new zend_str_tolower_copy() function
2003-05-20 18:44:24 +00:00
Sterling Hughes
a4fb3300b3
doesn't need to be register
2003-05-20 18:42:09 +00:00
Sterling Hughes
ca6ca5e2a6
optimize the lookups by avoiding a copy and then another pass
...
Naked Dancing Girls should be given to: Myself, Zeev, Marcus,
and George Schlossnagle (in no particular order)
2003-05-20 18:28:14 +00:00
Sterling Hughes
909eafc2b0
add fast_call_user_function()
2003-05-20 16:44:42 +00:00
Hartmut Holzgraefe
cb71ac03cb
C++ compile fixes
2003-05-20 13:21:26 +00:00
Marcus Boerger
37a88305e6
Fix exception memleak
2003-05-19 20:40:56 +00:00
Stanislav Malyshev
462eff3497
fix __clone
2003-05-19 17:12:56 +00:00
Marcus Boerger
fe47a383e3
One function call is enough
2003-05-12 18:54:05 +00:00
Marcus Boerger
d3693d9214
Inheritance fix
...
# here we go again, sorry for the mess and thanks to edin for reverting it
2003-05-08 15:04:43 +00:00
Edin Kadribasic
7a0efe828a
Reverting Marcus' incomplete patch which broke the build.
2003-05-07 22:19:43 +00:00
Marcus Boerger
764eaa5b8b
Inheritance fixes
2003-05-07 00:54:38 +00:00
Marcus Boerger
bd74e75b41
Fix namespace issue: Only CG is needed here
2003-05-04 23:01:39 +00:00