Commit Graph

3633 Commits

Author SHA1 Message Date
Zeev Suraski
79a58abbbf Fix bug #26698 (exceptions handled properly during argument passing to functions) 2004-02-10 17:01:55 +00:00
Zeev Suraski
b6e14b44b4 Fix bug #27186 2004-02-10 16:08:01 +00:00
Zeev Suraski
da36a7c249 Fix bug #26869 2004-02-10 15:30:32 +00:00
Zeev Suraski
57aaad0dec Fix refcounting of ++/+= overloading (fix leak in __get()/__set()
based classes)
2004-02-10 14:52:14 +00:00
Andi Gutmans
91ee6c0ceb - Nuke more unused code 2004-02-10 11:44:17 +00:00
Zeev Suraski
de583b2f91 Fix handling in assignment using multidimensional array syntax to string
offset ($s = "FUBAR"; $s[0][0] = 1;)
2004-02-10 11:39:52 +00:00
Andi Gutmans
70c418d064 - We will go with PHP 4 behavior. With the new object model assigning by
reference has lost a lot of its importance.
2004-02-10 11:20:52 +00:00
Andi Gutmans
041b5dc2f7 - Remove junk 2004-02-10 10:44:09 +00:00
Zeev Suraski
d082fb03ee Fix exception handling in opcodes spanned across multiple oplines (fixes the crash in __set()) 2004-02-10 10:07:46 +00:00
Zeev Suraski
439396188c - Fix pre/post increment for overloaded objects
- Fix binary-assign-op for overloaded objects

NOTE:  This requires the implementation of the 'get' callback!
2004-02-10 09:29:42 +00:00
Moriyoshi Koizumi
e88babe8ac - Correcting test.
# still segfaults though.
2004-02-10 09:15:01 +00:00
9d21d82024 ChangeLog update 2004-02-09 01:32:12 +00:00
Zeev Suraski
473927ece8 Fix write-mode of overloaded objects when using array dimensions 2004-02-08 17:23:20 +00:00
Andi Gutmans
8a129bfc47 - Check if free_storage exists 2004-02-08 17:08:11 +00:00
f6b9419d2c ChangeLog update 2004-02-06 01:32:19 +00:00
Sebastian Bergmann
0e3ce62c7b Committing for Jan. 2004-02-05 10:41:55 +00:00
Ilia Alshanetsky
157a4e289a Fixed bug #27145 (Unmangle private/protected property names before printing
then inside error messages).
2004-02-05 02:16:08 +00:00
e92f95346b ChangeLog update 2004-02-05 01:32:18 +00:00
Zeev Suraski
e28ab687d2 Fix exceptions happening inside internal functions called through
zend_user_function()
2004-02-04 23:48:39 +00:00
Zeev Suraski
14ac17fa95 Remove double initialization 2004-02-04 23:28:40 +00:00
Marcus Boerger
7fa5cdcb72 Add new prototype 2004-02-04 22:22:30 +00:00
Marcus Boerger
63c964c40f Fix reflection 2004-02-04 22:19:00 +00:00
Marcus Boerger
dd58eb3f6d Fix warnings 2004-02-04 21:04:12 +00:00
Zeev Suraski
d3c9467432 Fixlet 2004-02-04 18:24:44 +00:00
Zeev Suraski
bab3acc37b Fix handling of $this in some cases 2004-02-04 17:57:48 +00:00
Zeev Suraski
52b5f3fea1 Handle additional cases 2004-02-04 17:10:44 +00:00
Zeev Suraski
c5d842279c Reinstate early-binding for classes.
Note that this is available for downwards compatibility only - and it doesn't
work if you use new features (namely, interfaces).  Generally, people should
declare their classes before using them, but we just didn't want hell to break
loose (c)
2004-02-04 16:30:15 +00:00
Zeev Suraski
723641590a Optimize 2004-02-04 15:51:07 +00:00
Zeev Suraski
3df50001e1 - Improve $this assignment detection and generalize some code in zend_compile.c 2004-02-04 14:25:25 +00:00
Zeev Suraski
e1fc3963ee -Error out when trying to re-assign $this 2004-02-04 13:56:41 +00:00
Zeev Suraski
5c3e03a2ff The valid bit was necessary after all - restored 2004-02-04 12:30:48 +00:00
Zeev Suraski
6584dca194 Fixlets 2004-02-04 12:17:57 +00:00
Zeev Suraski
3ac58bffcf - Small fixes 2004-02-04 11:56:07 +00:00
Zeev Suraski
27f54a4c13 - Improve wording 2004-02-04 11:47:54 +00:00
Zeev Suraski
f5f7d569a0 Change destructor implementation (details will follow on internals@) 2004-02-04 09:56:20 +00:00
c4ec00a46d ChangeLog update 2004-02-04 01:32:17 +00:00
Marcus Boerger
dfad2955ee Update tests 2004-02-03 22:07:29 +00:00
Marcus Boerger
363c587871 Nuke unused variable 2004-02-03 21:15:08 +00:00
Marcus Boerger
60a4a48e4e Fix Warning 2004-02-03 21:13:04 +00:00
Sebastian Bergmann
e2e5c69f47 clone/__clone() related changes. 2004-02-03 16:56:37 +00:00
Zeev Suraski
e4db2fb890 Remove unused variable 2004-02-03 15:51:09 +00:00
Zeev Suraski
3be75ceda2 Remove more garbage - valid bit was not really necessary 2004-02-03 15:49:15 +00:00
Zeev Suraski
c5a7b668cd - Clean garbage (delete was nuked a long time ago) 2004-02-03 15:37:37 +00:00
Ilia Alshanetsky
871d8bdb57 More unneeded code removed. 2004-02-03 14:33:32 +00:00
Zeev Suraski
60bb89c505 Abort on parse error in an include file (patch by Ilia) 2004-02-03 14:32:02 +00:00
Zeev Suraski
e1bf9cc4c2 Remove redundant code 2004-02-03 14:31:07 +00:00
Zeev Suraski
8013d5fa39 Fix try/catch block logic 2004-02-03 13:42:41 +00:00
Zeev Suraski
848d4aed8a Perform a bitwise copy of the object even when __clone() is defined.
__clone() is back to not requiring any arguments, as $that is no longer
needed ($this already contains a copy of the original object, by the time
we __clone() is executed).
Calling the parent clone is done using parent::__clone()
2004-02-03 12:36:13 +00:00
Zeev Suraski
9e60cb553f Rewrote exception support. Fixes a few limitations and bugs in the old
implementation, and allows exceptions to 'fire' much earlier than before.

Instructions on how to use the new mechanism will follow on internals@
shortly...

Note - this (most probably) breaks the current implementation of
set_exception_handler()
2004-02-03 12:17:09 +00:00
538d5199ea ChangeLog update 2004-02-03 01:32:21 +00:00
Zeev Suraski
8e30d96ad8 Redesign the clone() feature to fix some fundamental flaws in the previous
implementation.

Using clone directly is now done using
$replica = clone $src;

Clone methods must now be declared as follows:
function __clone($that)
{
}

Clone methods in derived classes can call the __clone method of their parent
classes using parent::__clone($that)
2004-02-02 12:28:19 +00:00
343d4314b4 ChangeLog update 2004-02-01 01:32:26 +00:00
Marcus Boerger
46be4c2626 Throw an exception in case a reflection object cannot be found and do not
override the exception from constructors in static method calls.
2004-01-31 12:20:20 +00:00
5eb038002e ChangeLog update 2004-01-31 01:31:58 +00:00
Ilia Alshanetsky
b4e882d013 Apply the same parse error handling to (include|require)_once as the one for
their non-once counterparts.
2004-01-30 02:22:17 +00:00
580c439c6e ChangeLog update 2004-01-29 01:32:20 +00:00
Zeev Suraski
d45541b4fb Tweak checks to detect some additional cases.
Reorder checks to make more sense.
2004-01-28 22:27:39 +00:00
Zeev Suraski
be7d41b905 - Error message fix
- Prevent inheritance of the same constant from two interfaces
2004-01-28 11:53:52 +00:00
Zeev Suraski
a7ff369cac Fixlets 2004-01-28 10:52:27 +00:00
Zeev Suraski
2adaa11f2f Prevent classes from implementing interfaces that have the same function 2004-01-28 10:25:45 +00:00
Zeev Suraski
ae0e9e62dd Whitespace 2004-01-28 10:24:57 +00:00
Zeev Suraski
673e6e23e7 Code relayout 2004-01-28 09:13:41 +00:00
Zeev Suraski
c15d4ddb2b Forward-port fix for timeouts under Windows 2004-01-28 09:07:02 +00:00
69038b6d18 ChangeLog update 2004-01-27 01:32:27 +00:00
Marcus Boerger
6186617571 - Export struct zend_user_iterator
- Ad 'it' to function prefix to prevent naming clashes
- Export zend_user_it_free_current
2004-01-26 22:33:52 +00:00
48a98f78ee ChangeLog update 2004-01-26 01:33:25 +00:00
Ilia Alshanetsky
0cb89236a3 Fixed bug #26814 (On parse error include included file, terminate
execution script).
2004-01-25 23:54:12 +00:00
Marcus Boerger
6e2cf148a4 Respect proeprty visibility in foreach 2004-01-25 13:32:02 +00:00
Marcus Boerger
db86475367 Update test 2004-01-25 13:19:16 +00:00
733e2dae08 ChangeLog update 2004-01-25 01:32:26 +00:00
Marcus Boerger
3ca44539a1 Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
#   statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.
2004-01-24 16:59:24 +00:00
Sebastian Bergmann
1e902b696d Change message as proposed by Jon. 2004-01-24 04:59:47 +00:00
6b7e6992a2 ChangeLog update 2004-01-24 01:32:18 +00:00
Marcus Boerger
6020ffd007 Simplify detection of methods that must be called dynamic (with object) 2004-01-23 22:04:42 +00:00
Marcus Boerger
79e7145cc7 Disallow calling __clone/__construct/__destruct static
Send an E_STRICT when calling a non static method static
2004-01-23 20:58:23 +00:00
Marcus Boerger
7c2e02d380 Disallow static declaration of clone 2004-01-23 20:52:39 +00:00
foobar
6a1d0114a7 Silence some compile warnings 2004-01-23 03:28:59 +00:00
ddfe5648fe ChangeLog update 2004-01-23 01:32:09 +00:00
Marcus Boerger
c4c6d5213a Fix internal access to exception properties 2004-01-22 19:53:09 +00:00
495860928a ChangeLog update 2004-01-20 01:32:06 +00:00
Andi Gutmans
21f09643ec - Hopefully fix bug #26696.
- Please let me know if hell-breaks loose
2004-01-19 12:22:02 +00:00
8ee117f877 ChangeLog update 2004-01-19 01:32:11 +00:00
Marcus Boerger
805dfab890 Add zend_get_module_started() to quickly check whether a module is present
and its MINIT function has been called.
2004-01-19 00:39:29 +00:00
Marcus Boerger
3df0288490 Improove debug capabilities 2004-01-18 23:47:10 +00:00
Marcus Boerger
0a210d7976 Fix some casing issues 2004-01-18 10:45:36 +00:00
2d5b7f7c27 ChangeLog update 2004-01-18 01:35:28 +00:00
Marcus Boerger
64c7645009 #where has my bracket been gone? 2004-01-17 16:50:54 +00:00
Marcus Boerger
3edabd01bb Fix inheritance rule for interface Traversable 2004-01-17 16:38:25 +00:00
foobar
f4983c0d3f - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +00:00
92f9989ad8 ChangeLog update 2004-01-17 01:32:11 +00:00
Ilia Alshanetsky
0a8a950fcf Expose zend_std_call_user_call(), needed for implementation of things like
__call handlers.
2004-01-17 00:39:28 +00:00
foobar
796938ec7f Nuke compile warning by using the LANG_SCNG macro instead 2004-01-17 00:26:12 +00:00
foobar
b6b3443d0a - Fixed bug #26640 (__autoload() not invoked by Reflection classes)
# Also removed double call of reflection_register_implement() on
# reflection_extension_ptr.
# Fixed also case-insensitive lookup of property names,
# now Reflection_Property('Classname', 'FooBar'); works too.
2004-01-16 21:11:58 +00:00
c1ac285760 ChangeLog update 2004-01-16 01:32:07 +00:00
Zeev Suraski
32007b19d8 Nice patch Christian, but it wasn't at all enabled? :)
Fix bug #26883
2004-01-15 16:47:32 +00:00
97a741e578 ChangeLog update 2004-01-15 01:32:13 +00:00
Zeev Suraski
59d168eda7 Don't allow interfaces to implement anything 2004-01-14 14:00:11 +00:00
Andi Gutmans
0458bf10e4 - Remove bogus macros 2004-01-14 08:50:17 +00:00
bc9cbe2715 ChangeLog update 2004-01-14 01:32:09 +00:00
Wez Furlong
d4deb460bd Don't treat strings containing : as potential constant names in
the .ini parser.
This fixes Bug #26893
2004-01-13 17:00:10 +00:00
24f5ca6ab5 ChangeLog update 2004-01-13 01:32:17 +00:00
Andi Gutmans
92eb129bd9 - Return the PHP 4 behavior of not allowing class declerations within
- class declerations. This happened when declaring a class within a
- method.
class A {
	function foo() {
		class B {
		}
	}
}
2004-01-12 07:15:55 +00:00
ac8b58603b ChangeLog update 2004-01-12 01:31:59 +00:00
Marcus Boerger
61fc2a9209 Add missing macro
# by popular demand, more and more exts need this
2004-01-12 00:19:40 +00:00
Wez Furlong
910e20064a TSRMLS fix 2004-01-11 21:39:40 +00:00
Andi Gutmans
ac5d5c7f35 - Re-allow conditional class declerations. Needless to say that I also
- think it's not great coding.. Use polymorphism instead :)
2004-01-11 19:37:15 +00:00
Andi Gutmans
e69f4f6f25 - This should fix the problem of conditional function decleration on the
- same line of code not to work. You should re-evaluate your coding style
- if you really code this way :)
2004-01-11 19:27:13 +00:00
a4872e0c31 ChangeLog update 2004-01-11 01:32:20 +00:00
Zeev Suraski
f5e9ca64b1 Remove conflict 2004-01-10 12:48:04 +00:00
Zeev Suraski
a72c1ab93b Added error mask to set_error_handler()
Patch by Christian Schneider <cschneid@cschneid.com>
2004-01-10 11:43:42 +00:00
b04960746d ChangeLog update 2004-01-10 01:33:36 +00:00
Wez Furlong
57e2ef89e4 support for building asm in the unix buildsys.
Also, when ZEND_ACCONFIG_H_NO_C_PROTOS is defined,
omit the C prototypes from the configuration header
so that it can be included into asm files.
2004-01-09 23:37:29 +00:00
Marcus Boerger
686281d087 this one is declined 2004-01-09 18:55:49 +00:00
Wez Furlong
e3baf1a07d must be extern to avoid problems with some compilers 2004-01-09 18:09:51 +00:00
Stanislav Malyshev
b9052251e7 fix expect 2004-01-09 14:32:32 +00:00
Stanislav Malyshev
c4b6a637e5 Bug #25816 - disallow arrays in class constants 2004-01-09 14:02:33 +00:00
Stanislav Malyshev
209497cfdf add test 2004-01-09 13:55:02 +00:00
Stanislav Malyshev
e321eba06b Fix Bug #26077 - memory leak when new() result is not assigned
and no constructor defined
2004-01-09 13:52:19 +00:00
47c81de40f ChangeLog update 2004-01-09 01:32:33 +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
Andi Gutmans
6b87194bd9 - - A belated happy holidays (by two years) 2004-01-08 08:23:23 +00:00
cfca1234a4 ChangeLog update 2004-01-08 01:31:55 +00:00
0204ac5a27 ChangeLog update 2004-01-07 01:32:03 +00:00
Marcus Boerger
1d2b4bcc48 Reimplement part of Bug #24608 that was reverted too 2004-01-07 00:24:58 +00:00
Marcus Boerger
82f0c9e7aa Revert patch that allowed to call sttaic methods via $method() 2004-01-07 00:02:04 +00:00
Ilia Alshanetsky
68a096f84e Check if realloc() succeeds or not. (Noticed by Andrey) 2004-01-06 22:44:40 +00:00
6b27ed4d8d ChangeLog update 2004-01-06 01:31:55 +00:00
Marcus Boerger
6118a91849 Update 2004-01-06 00:51:43 +00:00
Marcus Boerger
18ea05b746 Fixed bug #26802 2004-01-05 22:45:11 +00:00
Marcus Boerger
f16aed2d7a Fix test 2004-01-05 22:40:24 +00:00
Marcus Boerger
780b420797 Add new test 2004-01-05 22:17:14 +00:00
Marcus Boerger
b5e5c845bf Update test 2004-01-05 14:01:09 +00:00
Stanislav Malyshev
bced21b357 Fix bug #26543 - check parent:: and self:: in class names 2004-01-05 12:10:35 +00:00
Stanislav Malyshev
1e11e7401c Bug #24608 - fix interaction between __accessors and get_property_ptr 2004-01-05 11:45:46 +00:00
69b6c15158 ChangeLog update 2004-01-04 01:32:43 +00:00
Derick Rethans
6923a16c26 - Fixed var_export() to show public, protected and private modifiers properly.
- Exported (un)mangle_property_name.
2004-01-03 13:51:02 +00:00
f37c9932ba ChangeLog update 2004-01-03 01:32:06 +00:00
Andrei Zmievski
85f62caad2 Do not show exception message if it's empty.
# Is there a way to preserve the case of the exception class here?
2004-01-02 19:27:02 +00:00
06a60f2949 ChangeLog update 2004-01-01 01:32:07 +00:00
Andrei Zmievski
87c2ba22f1 Make default message look better. 2003-12-31 19:44:41 +00:00
cd9342fb84 ChangeLog update 2003-12-31 01:33:06 +00:00
Andi Gutmans
fc835b4a46 - Fix typos 2003-12-30 13:28:31 +00:00
Marcus Boerger
5e9279bb44 Update 2003-12-30 13:14:14 +00:00
b8f3838753 ChangeLog update 2003-12-30 01:31:58 +00:00
Ilia Alshanetsky
f0fa1781ee Added test case for bug #26696. 2003-12-30 00:23:28 +00:00
Marcus Boerger
046859493e Fix (string) conversion 2003-12-29 22:01:47 +00:00
Marcus Boerger
c0b8e35997 Add missing notice 2003-12-29 21:58:03 +00:00
Marcus Boerger
03e039b19d Fix __autoload() with derived classes 2003-12-29 12:35:44 +00:00
049fda207d ChangeLog update 2003-12-29 01:32:05 +00:00
Marcus Boerger
2a6ec5ccb4 WS 2003-12-28 16:20:06 +00:00
Marcus Boerger
15964bb35d Fix order of class_entry member initialization (needed for example for DOM)
# You need to completley rebuild PHP after this patch.
2003-12-28 15:18:05 +00:00
af3e587d1e ChangeLog update 2003-12-28 01:31:59 +00:00
Marcus Boerger
885eafac61 Fixed bug #26065 (Crash when nesting classes) 2003-12-27 22:59:49 +00:00
Marcus Boerger
c49b657084 Add new test 2003-12-27 20:45:36 +00:00
Marcus Boerger
e20f534ee5 Simplify 2003-12-27 20:33:14 +00:00
Marcus Boerger
db36fd0200 Fix __tostring() and concatenation 2003-12-27 20:16:49 +00:00
20a59f9759 ChangeLog update 2003-12-26 01:31:54 +00:00
Marcus Boerger
1dec2d85d6 Fix warning 2003-12-25 20:08:22 +00:00
Marcus Boerger
d28d247c4a Fix warning 2003-12-25 19:59:38 +00:00
Ilia Alshanetsky
0688205940 Fixed Bug #26703 (Certain characters inside strings incorrectly treated as
keywords). Original patch by vrana@php.net.
2003-12-25 18:57:26 +00:00
6d50eca0db ChangeLog update 2003-12-24 01:31:55 +00:00
Marcus Boerger
c6cb00fe59 Fixed bug #26697 (calling class_exists on a nonexistent class in __autoload
results in segfault).
2003-12-23 10:45:10 +00:00
3fc3d625e5 ChangeLog update 2003-12-23 01:31:50 +00:00
Marcus Boerger
717604ea70 Add more tests 2003-12-22 22:53:48 +00:00
Marcus Boerger
26a0abbd0c Fix tests now that class names are shown in correct casing 2003-12-22 22:50:02 +00:00
Marcus Boerger
50888a100c Preserve class name casing. 2003-12-22 22:34:28 +00:00
Marcus Boerger
b58d371927 Fixed bug #26695 (Reflection API does not recognize mixed-case class hints)
# The exception part
2003-12-22 20:03:01 +00:00
Marcus Boerger
06788f0438 Fixed bug #26675 (Segfault on ArrayAccess use)
Update NEWS
2003-12-22 16:27:14 +00:00
Wez Furlong
273c19334b export these symbols for use by SPL as a shared extension 2003-12-22 13:09:15 +00:00
d8f6bb7efa ChangeLog update 2003-12-20 01:31:55 +00:00
Andi Gutmans
535653ee8e - Nuke another rule (thanks to Jan for noticing this) 2003-12-19 14:39:17 +00:00
Dmitry Stogov
02a9316731 Bug #25547 (error_handler and array index with function call) was fixed
tests/lang/bug25547.phpt
2003-12-19 14:08:22 +00:00
Andi Gutmans
f9f19c99b3 - Nuke unused code 2003-12-19 13:35:42 +00:00
Dmitry Stogov
5adf502a69 Error reporting on unset string offset was added (Bug #24773 Zend/tests/bug24773.phpt) 2003-12-19 11:26:52 +00:00
Dmitry Stogov
25a811da65 Assign_op operators (+=) were fixed for elements of overloaded objects 2003-12-19 11:22:13 +00:00
fbebdb4685 ChangeLog update 2003-12-19 01:31:43 +00:00
Andi Gutmans
38beff5c92 - Nuke C++ comment 2003-12-18 23:30:22 +00:00
Andi Gutmans
3546d86052 - Revert patch 1.566 2003-12-18 23:28:15 +00:00
Marcus Boerger
49efcd4f27 Fixed bug #24837 Incorrect behaviour of PPP using foreach. 2003-12-18 20:07:30 +00:00
893fa6c137 ChangeLog update 2003-12-18 01:32:36 +00:00
Zeev Suraski
24298e523f This part of the if was necessary after all.
Refix bug #22510
2003-12-17 17:06:34 +00:00
Dmitry Stogov
ae4a09b239 *** empty log message *** 2003-12-17 15:08:13 +00:00
Dmitry Stogov
3c4cfd3ec8 Dynamic function call from object's property was fixed
(See "tests/lang/bug24926.phpt" and "tests/lang/bug25652.phpt")
2003-12-17 14:45:59 +00:00
Dmitry Stogov
20f73cd267 Access to globals/autoglobals from class __destructor was fixed.
(see "tests/lang/bug24908.phpt" and "tests/classes/destructor_and_globals.phpt")
2003-12-17 14:25:12 +00:00
00c012804e ChangeLog update 2003-12-17 01:31:48 +00:00
Sebastian Bergmann
9c909f41fd Sync: Export externally used functions. 2003-12-16 11:44:19 +00:00
Stanislav Malyshev
6d5eb809be export class initialization function 2003-12-16 10:51:51 +00:00
Stanislav Malyshev
052032f5ec export externally used functions 2003-12-16 10:51:21 +00:00
Stanislav Malyshev
d22fcfbc03 export function 2003-12-16 10:50:52 +00:00
39d19a5b0f ChangeLog update 2003-12-16 01:31:45 +00:00
Marcus Boerger
d4f64f88ba Reenable __tostring() magic for print,echo,concatenation,function naming...
but not for other internal things.
# As discussed with Andi
2003-12-15 16:59:21 +00:00
foobar
a1a69ae16b ws + cs (no c++ comments in c code) 2003-12-15 13:20:53 +00:00
Dmitry Stogov
ceb7c536d5 Bug #24773 was fixed (Zend/tests/bug24773.phpt)
Assign_op operators (+=) were fixed for elements of overloaded objects
Memory leaks during accessing ptoperies/elements of overloaded objects were fixed
2003-12-15 07:22:09 +00:00
Dmitry Stogov
2d9281352b Memory corruptions were fixed in zend_str_tolower_copy() 2003-12-15 07:17:27 +00:00
fa4726e3b3 ChangeLog update 2003-12-15 01:31:56 +00:00
Zeev Suraski
3a42babad6 Fix behavior of return-by-reference functions. Remove erroneous warnings,
add E_STRICT warnings in case you return something by reference that you're
not supposed to (anything that's not a variable, or a return-value of a
function that returned by reference).
2003-12-14 16:09:07 +00:00
Zeev Suraski
e94e3e1775 Some cleanup 2003-12-14 12:32:02 +00:00
4c8eb214fd ChangeLog update 2003-12-14 01:31:56 +00:00
Moriyoshi Koizumi
033bc12d86 Fixes for POSIX compliancy. 2003-12-13 19:28:30 +00:00
f076fea779 ChangeLog update 2003-12-13 04:08:11 +00:00
Marcus Boerger
a251361849 Free is needed in non ZTS too 2003-12-12 11:14:44 +00:00
Marcus Boerger
8fb5ea3081 Fix memleaks in ZTS mode 2003-12-12 10:50:23 +00:00
Marcus Boerger
a54c7dcb20 Fix memleaks 2003-12-12 08:25:58 +00:00
fb7f1aa71e ChangeLog update 2003-12-12 01:31:49 +00:00
Ilia Alshanetsky
7f9d1a1f6b Do not copy extra byte. 2003-12-12 00:16:58 +00:00
Ilia Alshanetsky
e2012609d6 Fixed extra byte allocation for TRUE/FALSE/ZEND_THREAD_SAFE/NULL constants. 2003-12-11 23:50:13 +00:00
Marcus Boerger
39544e1c7f Bugfix: #26591 [NEW]: "__autoload threw an exception" during an uncaught
Exception
2003-12-11 18:18:52 +00:00
Andi Gutmans
5ba810ee46 - Refix bug #24773 2003-12-11 10:21:16 +00:00
Marcus Boerger
904373a830 Handle getter failure and allow to bypass thrown exceptions. 2003-12-11 09:56:06 +00:00
Marcus Boerger
b8afd8343a read_dimension() handler might return 0, handle this. 2003-12-11 09:52:33 +00:00
a36a6a4b6e ChangeLog update 2003-12-11 01:36:11 +00:00
Marcus Boerger
310d6c567a Do not double copy the string 2003-12-10 10:24:35 +00:00
1ecf87238f ChangeLog update 2003-12-10 01:32:01 +00:00
foobar
a08c1e4dce - Brought ext/bcmath to the new millennium
# consistency..
2003-12-09 23:59:33 +00:00
Andi Gutmans
d0d7badfb9 - Fix overallocation (thanks to Ilia) 2003-12-09 08:56:04 +00:00
fd6270d515 ChangeLog update 2003-12-09 01:34:47 +00:00
Derick Rethans
03f8baa87e - Make it compile again 2003-12-08 13:26:03 +00:00
9ad6aaea63 ChangeLog update 2003-12-08 01:30:07 +00:00
Stanislav Malyshev
dc6a849a2f Apply Andrey Hristov's patch adding get_declared_interfaces() 2003-12-07 18:54:31 +00:00
e7bad9e272 ChangeLog update 2003-12-07 01:32:57 +00:00
Marcus Boerger
8a8deee8a0 This test is against interfaces not abstract classes. 2003-12-06 19:02:12 +00:00
Marcus Boerger
30af3ba523 Show the exception message again after __toString() magic has been dropped. 2003-12-06 18:12:26 +00:00
6ae1f19387 ChangeLog update 2003-12-06 01:31:45 +00:00
Andi Gutmans
f4d6a5c7cf - Remove two unneeded convert_to_string() (found by Marcus)
- Change illegal use of string offset to E_ERROR
2003-12-05 16:28:54 +00:00
Ilia Alshanetsky
aa1b20614b Fixed crash demonstrated with ext/dom/tests/dom003.phpt test case. 2003-12-05 01:44:45 +00:00
036e8dea10 ChangeLog update 2003-12-05 01:31:47 +00:00
Moriyoshi Koizumi
4a38020ddd Revert crap. 2003-12-04 17:38:21 +00:00
Moriyoshi Koizumi
bcbc036ac1 Raise error in case dereference is performed on a scalar value. 2003-12-04 13:38:30 +00:00
ab5066008f ChangeLog update 2003-12-04 01:31:59 +00:00
Ilia Alshanetsky
54a73a6c06 Test case for bug #24773. 2003-12-03 23:00:30 +00:00
Moriyoshi Koizumi
5fe26e76eb This kind of error should be caught. (suggested by Andi, thanks) 2003-12-03 22:08:58 +00:00
Moriyoshi Koizumi
7ac854e710 Fix bug #24773 (unset()ing string offsets crashes PHP) 2003-12-03 19:10:38 +00:00
Derick Rethans
611219208c - Remove newline from error message 2003-12-03 15:01:04 +00:00
4dce55f28b ChangeLog update 2003-12-03 01:32:23 +00:00
Marcus Boerger
ff57d33fe2 Remove automatic call to __toString() since it is supposed to cause too
much trouble. See discussion on the mailing list.
2003-12-02 22:08:51 +00:00
Andi Gutmans
23b231d0eb - Revert the revert of these patches. This overloading can only be used
- by C extensions such as SimpleXML and *NOT* PHP code. Reasons given
- on the mailing list and problem with reentrancy inside the opcodes.
2003-12-02 21:09:24 +00:00
Andi Gutmans
d7f839cce7 - Fix for bug #26182 2003-12-02 12:06:03 +00:00
Andi Gutmans
393376d936 - Don't include E_STRICT in E_ALL. 2003-12-02 09:14:18 +00:00
Marcus Boerger
32927a9ffb Free the zval container only if it should be freed and was not copied. 2003-12-02 07:09:46 +00:00
2d3800bdd7 ChangeLog update 2003-12-02 01:31:57 +00:00
Andi Gutmans
98e1a3dbcb - Change to E_STRICT so as not to break existing scripts.
- Thanks Edin
2003-12-01 12:35:46 +00:00
Andi Gutmans
709060e161 - Nuke property_exists(). We need to fix isset() and this is already
- supported in reflection API. In any case, it's best not to add new
- functions in the general namespace except for keeping engine consistency
(which would have been true in this case)
2003-12-01 11:53:42 +00:00
Andi Gutmans
ee64b61e94 - Revert auto-conversion in parameter API 2003-12-01 11:50:57 +00:00
Andi Gutmans
a411d608fa - Don't automatically call __toString() in convert_to_string_ex().
- use __toString() in your code.
- Keep the auto-case in make_printable_zval.
2003-12-01 11:47:52 +00:00
42f04fbd43 ChangeLog update 2003-12-01 01:31:51 +00:00
Marcus Boerger
0091b5ca1d Check return value of exception::__tostring() 2003-11-30 13:53:19 +00:00
Marcus Boerger
e0946d9609 Fix test 2003-11-30 13:18:56 +00:00
6dd2f536a4 ChangeLog update 2003-11-30 01:31:13 +00:00
Marcus Boerger
056c654f4f Fix memleak 2003-11-29 19:26:41 +00:00
Ilia Alshanetsky
99dec6927c Fixed bug #26463 (Incorrect handling of semicolons after heredoc) 2003-11-29 19:05:14 +00:00
Marcus Boerger
6344f662a5 This takes the address of a zval ptr 2003-11-29 18:23:35 +00:00
Marcus Boerger
c7d27ad938 Add macros to return values of other zvals.
This is needed because one cannot use REPLACE_ZVAL_VALUE with return_value.
2003-11-29 18:15:11 +00:00
Ilia Alshanetsky
cf196ac625 Restore original patch for bug #26281.
# Andi if you have a time & interest please see if perhaps a better
# solution can be implemented. Thanks.
2003-11-29 17:33:25 +00:00
Marcus Boerger
af5489d91b Revert accidential commit until decision 2003-11-29 17:05:17 +00:00
Marcus Boerger
9ffd44e94a Make exception code more robust:
- Fix error in calculation of trace-string length
- Allow to overload __strostring() and make it work for uncaught exceptions
- Show exception thrown while displaying exceptions
2003-11-29 17:03:45 +00:00
55775e5273 ChangeLog update 2003-11-29 01:32:19 +00:00
Ilia Alshanetsky
7203684680 Add removed lcname, it is still needed. 2003-11-28 14:42:25 +00:00
9870f005e1 ChangeLog update 2003-11-28 01:31:59 +00:00
Marcus Boerger
1586f714fe Convert objects to string if string is required by newer parameter parsing
since we do this for older parameter parsing does so too.
2003-11-27 19:24:38 +00:00
Marcus Boerger
87577dd881 The macro REPLACE_ZVAL_VALUE cannot be used since we only have zval *
writeobj. to allow it the api needs to be changed to zval **writeobj.
2003-11-27 19:08:28 +00:00
Marcus Boerger
3be27ecc78 Add a support function to check for property existance which is different
from checking a property from being empty/set.
Update test #26182.
2003-11-27 17:06:26 +00:00
47bbc0de9f ChangeLog update 2003-11-25 01:31:49 +00:00
Marcus Boerger
4dba05d9cc Add new interface ArrayAccess to use objects as Arrays 2003-11-24 20:57:54 +00:00
Andi Gutmans
bc4d0082d6 - Fix newly introduced bug which stopped class constants from working.
- Thanks to Jan Lehnardt for reporting it.
2003-11-24 20:47:53 +00:00
Sebastian Bergmann
e712007972 No longer needed. 2003-11-24 18:31:47 +00:00
Andi Gutmans
d344648b07 - Fix __autoload() to preserve class case.
- Heads up, this patch might break stuff so please let me know if you
- bump into any problems.
2003-11-24 18:13:29 +00:00
0c5c01ad9d ChangeLog update 2003-11-24 01:32:05 +00:00
Andi Gutmans
ceaddf238b - Allocation optimizations by Timm Friebe 2003-11-23 12:55:22 +00:00
4508d7dcce ChangeLog update 2003-11-22 01:31:47 +00:00
Ilia Alshanetsky
44a03df926 Cleaner patch for bug #26281. 2003-11-21 04:45:43 +00:00
eda457fe19 ChangeLog update 2003-11-20 01:32:12 +00:00
55b83c36e3 ChangeLog update 2003-11-19 01:36:15 +00:00
Ilia Alshanetsky
fdd902f0dd Possible fix for bug #26281 & test case. 2003-11-19 00:41:14 +00:00
Marcus Boerger
c21d597426 Add method alias macro 2003-11-18 19:18:54 +00:00
Andi Gutmans
c0df450203 - Add E_STRICT, to be used to warn purists (like Jani :) 2003-11-18 09:25:04 +00:00
Marcus Boerger
1eaf126a7a Backpatch the correct opcode for list(), property overloading needs more
opcodes (Bugfix #26257).
2003-11-18 07:19:55 +00:00
875695f680 ChangeLog update 2003-11-18 01:34:41 +00:00
Marcus Boerger
c978cc2ae8 Use correct order 2003-11-18 00:18:48 +00:00
Marcus Boerger
b29834a5be Use correct macro/function 2003-11-18 00:01:34 +00:00
Marcus Boerger
39df192788 Correct destruction 2003-11-17 00:36:41 +00:00
4d16f8f4bc ChangeLog update 2003-11-14 01:31:43 +00:00
Moriyoshi Koizumi
138b1c7be3 Bugfix #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals) 2003-11-13 20:53:55 +00:00
Marcus Boerger
58246412a7 IteratorAggregate::getIterator() cannot return anythingy else than objects 2003-11-13 08:23:49 +00:00
Andi Gutmans
db2a1f4590 - Make sure internal clasess are malloced 2003-11-13 06:40:34 +00:00
66f5f3371f ChangeLog update 2003-11-11 01:31:39 +00:00
Marcus Boerger
bdc339d30d Don't use zend_class_entry indirection 2003-11-10 22:06:26 +00:00
Marcus Boerger
7cc93e121b Bugfix #26010 (Bug on get_object_vars() function) 2003-11-10 21:03:04 +00:00
Marcus Boerger
e7365f316c Correct default handlers 2003-11-10 20:44:50 +00:00
Marcus Boerger
ea3eec9133 Need to update iterators handler table too. 2003-11-10 18:05:02 +00:00
Marcus Boerger
48d249de46 Fix those warnings 2003-11-10 16:23:12 +00:00
Marcus Boerger
296529b886 Split isset/isempty for object property and object dimension hooking. 2003-11-10 16:14:44 +00:00
Marcus Boerger
da6d68d919 Little iterator improvement: ability to store index in iterator 2003-11-10 16:13:38 +00:00
44dc9eb3e4 ChangeLog update 2003-11-09 01:32:00 +00:00
Marcus Boerger
e72339284f Add method reflection_class::implementsInterface()
Allow string & reflection_class in isSubclassOf()
2003-11-08 21:41:42 +00:00
Marcus Boerger
ab6b1adf0b Fix reflection_class::isSubclassOf() 2003-11-08 21:02:21 +00:00
Marcus Boerger
316854323d Handle exceptions in casting more gracefully.
This fixes bug #26166
2003-11-08 14:06:08 +00:00
a245f3b7a2 ChangeLog update 2003-11-08 01:32:13 +00:00
Marcus Boerger
f3d385a587 Make __autoload() faster 2003-11-07 11:47:50 +00:00
Marcus Boerger
5112a4ae24 Update Iterators: Call next at the correct point in time. 2003-11-07 10:47:47 +00:00
Marcus Boerger
77923b0eb1 Add missing initialization. 2003-11-07 10:22:16 +00:00
Marcus Boerger
1e44370536 Make these class entries available for inheriting classes 2003-11-07 09:33:06 +00:00
23d16aa99b ChangeLog update 2003-11-07 01:32:20 +00:00
Ilia Alshanetsky
c258f9c8a2 Fixed bug #26148 (Print the notice before modifying variable on type
mismatch).

# This only crashes in ZE1, however logic dictates that it may also crash
# in ZE2 because variable does not have a correct type.

Patch by: morten-bugs dot php dot net at afdelingp dot dk
2003-11-06 20:33:47 +00:00
c3b9e5811c ChangeLog update 2003-11-05 01:32:23 +00:00
Marcus Boerger
f9d13098e7 Prevent some SEGV's when Exceptions are thorown inside iterators. 2003-11-04 22:07:59 +00:00
Marcus Boerger
e912635f82 Removedouble efree call 2003-11-04 22:01:37 +00:00
Moriyoshi Koizumi
68bab385cb __tostring() handler should be binary-safe 2003-11-04 17:34:56 +00:00
Moriyoshi Koizumi
aef5f793b8 Fix one more test 2003-11-04 17:14:07 +00:00
Stanislav Malyshev
e69aaa8b05 add zend_iterators.c zend_interfaces.c to make 2003-11-04 15:27:08 +00:00
05dfdf1961 ChangeLog update 2003-11-01 01:31:52 +00:00
Moriyoshi Koizumi
2f27fe3574 Add test case for bug #26010 2003-10-31 17:12:16 +00:00
4adbd1dbf6 ChangeLog update 2003-10-31 01:32:21 +00:00
Stanislav Malyshev
44c3f0066b make CATCH opcode use "class" T like other opcodes do - via IS_CONST 2003-10-30 11:11:48 +00:00
Andi Gutmans
0b3fe78906 - Beta 2 2003-10-30 10:07:26 +00:00
3a65317f79 ChangeLog update 2003-10-30 01:33:04 +00:00
Moriyoshi Koizumi
973f606067 Use pretty macro instead. 2003-10-29 17:45:56 +00:00
e05a4acc8f ChangeLog update 2003-10-29 01:32:08 +00:00
Andi Gutmans
530789987f - Head up! I'm reverting the patch which allows for expressions in constant
- declerations. Allowing the access of other constants in this code is
- flawed. We are reverting back to PHP 4's static scalars.
- Don't worry if you get the following msg when compiling:
- "zend_language_parser.y contains 3 useless nonterminals and 22 useless rules"
- I didn't nuke the code in case we have some brilliant ideas after beta 2
2003-10-28 23:44:23 +00:00
Marcus Boerger
851a02e87f Give some freedon to c iterators but not in userspace. 2003-10-28 18:46:37 +00:00
Shane Caraveo
4bde74c3be fix crash in do_implement_interface when compiling
pear/PHPUnit/Framework/TestCase.php line 63
while only interface_gets_implemented is the issue in this instance, both
these vars were unitialized, causing potential other issues
2003-10-28 05:24:46 +00:00
38f336d464 ChangeLog update 2003-10-26 00:32:26 +00:00
Marcus Boerger
26bfe3f83a Add zend_make_callable() which allows to make zval's callable zval's.
At the moment this function only converts strings of the form class::method
to an array(class,method).
2003-10-25 22:58:06 +00:00
Marcus Boerger
da8ce17f7a This forces a better error message for non working clone calls. 2003-10-25 19:28:31 +00:00
Marcus Boerger
cad49f1fb0 And use things to throw an exception here 2003-10-25 19:13:06 +00:00
Marcus Boerger
4625529abe You shall not clone Exception instances 2003-10-25 19:07:09 +00:00
Marcus Boerger
fe3db4c7e9 You shall not clone reflection_xx instances 2003-10-25 19:06:35 +00:00
Marcus Boerger
6c05957aa2 Update 2003-10-25 15:11:49 +00:00
Marcus Boerger
52d2f8f579 Update 2003-10-25 14:54:10 +00:00
Sebastian Bergmann
e1fd9aed8f Fugbix typo. 2003-10-25 09:20:47 +00:00
Sebastian Bergmann
8bb30308f8 s/Throwable/Printable: Exception has become an internal class since I initially documented interfaces. 2003-10-25 09:18:23 +00:00
a82b296aa7 ChangeLog update 2003-10-25 00:32:55 +00:00
Andi Gutmans
23c00b0d5d - Fix typo 2003-10-24 22:13:00 +00:00
Marcus Boerger
b28db6a2d3 Revert accidental commit 2003-10-24 18:42:00 +00:00
Marcus Boerger
071eaf8576 Zend/ZEND_CHANGES 2003-10-24 18:24:28 +00:00
c32c3264ae ChangeLog update 2003-10-24 00:34:04 +00:00
Sebastian Bergmann
60f7896634 Add zend_interfaces.{c|h}. 2003-10-23 04:41:09 +00:00
a6210d2d75 ChangeLog update 2003-10-23 00:33:10 +00:00
Ilia Alshanetsky
5dac0007f3 Fixed bug #25922 (Crash in error handler when 5th argument is modified). 2003-10-22 23:42:55 +00:00
Marcus Boerger
8abb3bd448 Impement userspace iterator interfaces and tests. See tests for details
on the names.
2003-10-22 20:04:48 +00:00
Marcus Boerger
3c62b3b5ac Expand Interface C API.
In short: zend_class_entry->interface_gets_implemented()  allows to modify
the class entry of a class when an interface gets implemented.
2003-10-22 19:59:58 +00:00
Marcus Boerger
0bb59f337b The string conversion method should be named __toString() 2003-10-22 19:00:42 +00:00
5148ffdf90 ChangeLog update 2003-10-22 00:32:20 +00:00
Marcus Boerger
91099f3f4f Make this clear 2003-10-21 06:41:26 +00:00
06370c9132 ChangeLog update 2003-10-21 00:33:44 +00:00
Andi Gutmans
28957fd536 - Add comment from Timm 2003-10-20 22:02:10 +00:00
Marcus Boerger
c92b0202c7 Update 2003-10-20 10:26:03 +00:00
Marcus Boerger
445aa744e7 Update 2003-10-20 10:06:31 +00:00
634d8aa5ed ChangeLog update 2003-10-20 00:34:48 +00:00
Andi Gutmans
df033b58a0 - Nuke const in function parameters. I just can't remember why this exists
- and it seems no one else remembers either. It has no semantic meaning.
2003-10-19 08:38:48 +00:00
d9a61412c1 ChangeLog update 2003-10-19 00:32:44 +00:00