Commit Graph

3941 Commits

Author SHA1 Message Date
Zeev Suraski
6b6fe2f76e Fix exceptions thrown without a stack frame
Always enable set_exception_handler()
2004-02-11 12:31:18 +00:00
Zeev Suraski
3d622f99c1 Change FETCH_RESOURCE to return false on error instead of null, for
consistency with other error situations
2004-02-11 11:52:33 +00:00
Zeev Suraski
c01c44c2e2 Fix bug #26802 (the right aspects of it found by Marcus, anyway :) 2004-02-11 10:51:05 +00:00
Zeev Suraski
0f3106ad17 Fix and clarify the test case 2004-02-11 10:48:20 +00:00
Zeev Suraski
73a6bcf5cf Complete the fix for handling of exceptions happening during the
argument passing phase of function calls (fixes bug #26866)
2004-02-11 09:42:58 +00:00
Zeev Suraski
4b632eba46 whitespace 2004-02-11 09:42:10 +00:00
8d102800b3 ChangeLog update 2004-02-11 01:32:14 +00:00
Zeev Suraski
816d15252b Ignore the memleak in this test 2004-02-10 22:13:07 +00:00
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
Marcus Boerger
b0b82541e8 Fix class/iterator relationship & handling 2003-10-18 18:43:31 +00:00
Marcus Boerger
15bfbc7619 Fallback to old behavior until we have a default iterator that respects
visibility we do the array trick.
2003-10-18 18:20:42 +00:00
Marcus Boerger
ac262baf19 Change order: Optional rewind() to end of structure 2003-10-18 14:56:47 +00:00
ba21b244b5 ChangeLog update 2003-10-18 00:32:33 +00:00
Marcus Boerger
65657103ad WS 2003-10-17 18:47:49 +00:00
Marcus Boerger
641a55a4dd Show if a class/object is iterateable 2003-10-17 17:51:01 +00:00
Marcus Boerger
25aa8b715e Added c-api for iterators
# After 4 Month work and endless discussions...
2003-10-17 17:19:44 +00:00
Marcus Boerger
43a948379a Fix showing final/abstract for classes 2003-10-17 08:15:48 +00:00
Ilia Alshanetsky
a2e95e4b91 Fixed formatting issue. 2003-10-17 02:47:44 +00:00
Ilia Alshanetsky
c66bcc7b74 Fixed if() condition. 2003-10-17 02:29:06 +00:00
3a6ea5b696 ChangeLog update 2003-10-16 00:34:03 +00:00
Marcus Boerger
4073a08488 Add oo support function zend_class_implements() 2003-10-15 06:24:17 +00:00
Marcus Boerger
d148ff770f Fix cast function 2003-10-15 06:23:07 +00:00
6c317f5ad9 ChangeLog update 2003-10-15 00:34:01 +00:00
Andi Gutmans
8e2a3ec24b - Argh, the suffering copy&paste can cause 2003-10-14 18:13:55 +00:00
Andi Gutmans
a24df5cf55 - Fix compile problem. 2003-10-14 17:26:36 +00:00
Andi Gutmans
01ba151cc3 - Fix the fix by making sure the new block is in the right free list. 2003-10-14 14:44:19 +00:00
Stanislav Malyshev
6a71c1d33f The freed one is a hashtable - may matter if Hashtables are allocated
differently
2003-10-14 14:36:23 +00:00
Andi Gutmans
1a6f1e8c6a - Support merging free block which was created by reallocing to smaller
- size. This should fix some performance issues. This code is still not
- thoroughly tested.
2003-10-14 14:23:12 +00:00
22c54d7ec0 ChangeLog update 2003-10-10 00:33:53 +00:00
Zeev Suraski
2ab30d7133 Allow foo::$bar() 2003-10-09 13:44:44 +00:00
71191d67cf ChangeLog update 2003-10-08 00:33:46 +00:00
Rasmus Lerdorf
9a88c2d62c MFB bison configure test fix 2003-10-07 22:39:54 +00:00
Zeev Suraski
146ba0e875 Fix bug #17997 (Warning when switch & reference are combined) 2003-10-07 16:04:08 +00:00
Zeev Suraski
d16d25b136 Fix the fix :)
Not thoroughly tested, but appears to work fine
2003-10-07 10:05:10 +00:00
Marcus Boerger
2c2af7c7ef Bugfix #25770 Segfault with PHP and bison 1.875 2003-10-07 09:33:20 +00:00
6e97d2fff2 ChangeLog update 2003-10-06 00:33:56 +00:00
Zeev Suraski
4de32429f5 Remove unused callback 2003-10-05 08:27:31 +00:00
Zeev Suraski
3f5acc73a5 Remove redundant callback, simplify API 2003-10-05 07:52:28 +00:00
Shane Caraveo
05152d3845 this little piggy broke lots of things...eg. _function_check_flag in reflection api. 2003-10-05 01:54:46 +00:00
ddbc673eb3 ChangeLog update 2003-10-04 00:32:39 +00:00
Moriyoshi Koizumi
4859431fc1 Fixed bug #24766 (strange result array from unpack()) 2003-10-03 22:41:43 +00:00
Moriyoshi Koizumi
149f786025 Bug #25738 (alloca() related problems on the Darwin platform) 2003-10-03 22:02:55 +00:00
Moriyoshi Koizumi
be5cbf9999 Ensure lval to have a *boolean* value. 2003-10-03 16:57:41 +00:00
foobar
db50cd251e Aligned configure help texts. 2003-10-03 05:24:33 +00:00
5b17050a79 ChangeLog update 2003-10-01 00:32:39 +00:00
Moriyoshi Koizumi
ddd49b34c8 Remove redundant '\n' 2003-09-30 00:32:41 +00:00
c88a26881e ChangeLog update 2003-09-27 00:33:03 +00:00
Hartmut Holzgraefe
075e66cc08 signed/unsigned compiler warning fixes 2003-09-26 08:09:56 +00:00
22c6591674 ChangeLog update 2003-09-26 00:32:52 +00:00
Georg Richter
47f6dc77c5 fixed compiler warning
removed dead code
2003-09-25 15:54:17 +00:00
Georg Richter
664078c100 changed ulong to long to avoid compiler warnings (comparison between signed and unsigned) 2003-09-25 15:38:35 +00:00
c8db2e0455 ChangeLog update 2003-09-23 00:32:08 +00:00
Ilia Alshanetsky
10def9a8ae Added missing format. 2003-09-22 04:21:44 +00:00
b5d828f92d ChangeLog update 2003-09-21 00:32:02 +00:00
Marcus Boerger
0266efb8b5 Add public array Reflection_Class::getDefaultProperties() 2003-09-20 14:22:48 +00:00
42758e6ebd ChangeLog update 2003-09-19 00:33:52 +00:00
Marcus Boerger
3efe102a48 Nuke vars no longer needed 2003-09-18 17:13:59 +00:00
Marcus Boerger
7b3e84871e Go with studlyCaps 2003-09-18 16:20:42 +00:00
Marcus Boerger
5b3bb16530 Go with studlyCaps 2003-09-18 12:09:55 +00:00
Marcus Boerger
f8a376fe8e Change tostring() into __toString() to match method name used in casting. 2003-09-18 11:55:57 +00:00
Marcus Boerger
71ba442768 Fallback to default behaviour for unsupported object type conversions 2003-09-18 11:50:05 +00:00
Marcus Boerger
d7fdf15a41 - Allow partial type conversion support for objects.
- Add support for object to string conversion from userspace by method
  __toString() and add a test.
2003-09-18 11:38:33 +00:00
Marcus Boerger
87045df4ce Add missing check 2003-09-18 10:21:38 +00:00
77669838d0 ChangeLog update 2003-09-18 00:32:25 +00:00
Marcus Boerger
909bd62a43 Show name of missing function as typed 2003-09-17 11:06:11 +00:00
Marcus Boerger
755c404d08 Use studlyCaps in exception class 2003-09-17 10:15:00 +00:00
Marcus Boerger
46b8801b35 Go with studlyCaps in error messages/backtrace/reflection output 2003-09-17 10:14:12 +00:00
328a6b862a ChangeLog update 2003-09-17 00:31:56 +00:00
Marcus Boerger
d2088841a4 - Make it clear whether it is an interface or a class
- Fix static properties
2003-09-16 19:31:45 +00:00
596ef9704b ChangeLog update 2003-09-16 00:32:09 +00:00
Marcus Boerger
6bf04aff5b Revert - need to look for a better solution 2003-09-15 21:00:38 +00:00
Marcus Boerger
16a816b92c Bugfix #25547 2003-09-15 20:20:14 +00:00
Zeev Suraski
36133c4d0b Simplify / fix 2003-09-15 08:13:34 +00:00
def79d3754 ChangeLog update 2003-09-15 00:34:42 +00:00
Marcus Boerger
9d7f2fd9f0 Bugfix #25335 2003-09-14 19:56:37 +00:00
Zeev Suraski
e0508c13bb Commit 64-bit fixes to the standard operators
by Ard Biesheuvel (abies@php.net)
2003-09-14 17:37:01 +00:00
Marcus Boerger
1c86e53204 Bugfix #25528 (by Ard Biesheuvel) 2003-09-14 01:20:25 +00:00
576951c129 ChangeLog update 2003-09-14 00:31:51 +00:00
Marcus Boerger
dc6163fe20 Fix warnings 2003-09-13 16:49:50 +00:00
3a9e32d7dc ChangeLog update 2003-09-12 00:32:10 +00:00
Stanislav Malyshev
5bcc602a7c add test 2003-09-11 17:07:43 +00:00
Stanislav Malyshev
b163778fee ws 2003-09-11 17:06:53 +00:00
Stanislav Malyshev
406ff728f1 Use scope from method, not from object 2003-09-11 17:04:26 +00:00
Marcus Boerger
6f78de02f0 Use type instead of constant 2003-09-11 10:26:47 +00:00
d73045166b ChangeLog update 2003-09-09 00:31:42 +00:00
Marcus Boerger
9d0506ec54 Fix property inheritance where a derived class inherits a public property
and owns it as an implicit public property already (noticed by Brad).
2003-09-08 23:25:57 +00:00
Marcus Boerger
62421b5201 Fix registering/derigistering of stdClass in ZTS and NON ZTS mode 2003-09-08 10:45:19 +00:00
3cbdfccaa8 ChangeLog update 2003-09-08 00:31:45 +00:00
Marcus Boerger
cdc5d69ec2 Fix foreach() called with non array 2003-09-07 23:09:30 +00:00
Stanislav Malyshev
22c6bc13c7 check for mach-o/dyld.h - needed for non-PHP ZE build 2003-09-07 13:49:15 +00:00
573abd7e50 ChangeLog update 2003-09-07 00:31:51 +00:00
Marcus Boerger
fdf3fbadf0 Disallow to changing the backtrace 2003-09-06 14:06:40 +00:00
Marcus Boerger
a986b3f6a4 Add missing newline if no static methods are available 2003-09-06 13:18:12 +00:00
Marcus Boerger
10ea007e39 - Internal functions shall be static
- Fix more nesting
2003-09-06 13:11:27 +00:00
Marcus Boerger
35529e1964 Fix logic 2003-09-06 13:02:16 +00:00
Marcus Boerger
c31fc7771a - Fix CS: {{{ / }}}
- Fix static reflection_*::export()
- Add class reflection_object which allows to show dynamic properties
2003-09-06 12:52:40 +00:00
Marcus Boerger
f5b1114449 Use %s where it makes more sense 2003-09-06 10:59:07 +00:00
b0aff5de7d ChangeLog update 2003-09-06 00:31:23 +00:00
Marcus Boerger
79a507e4eb Simplify reflection_property::__constructor() and fix property factory 2003-09-05 14:48:55 +00:00
Marcus Boerger
9a39cd5501 - Don't use resorved words as variable names.
- Improve several exception messages.
- Fix Reflection_Property::_construct() / getDeclaringClass()
# The above does not imply that properties are fixed when returned
# by other reflection api methods.
2003-09-05 14:35:31 +00:00
Marcus Boerger
34990374e1 Fix reflection_api::__construct() (noticed by Andrey) 2003-09-05 12:14:03 +00:00
Marcus Boerger
0e3918732e Provide string casting for exceptions by calling toString() 2003-09-05 11:40:30 +00:00
79e5df27af ChangeLog update 2003-09-05 00:32:09 +00:00
Marcus Boerger
95649ab260 Tests show updating consts must happen once at runtime (revert optimization).
Add tests for static properties.
2003-09-04 16:00:01 +00:00
Marcus Boerger
4e7a782f3a Add reflection_class::getstaticproerties() 2003-09-04 15:57:25 +00:00
e2c873fa0c ChangeLog update 2003-09-04 00:32:10 +00:00
Marcus Boerger
be8287e55c Partly revert and reintroduce hash table entries for the ctor.
# Obviously not the brightest idea i had today.
2003-09-03 21:21:18 +00:00
Marcus Boerger
5569d7fae9 Nuke unused variable, too 2003-09-03 20:28:13 +00:00
Marcus Boerger
61b96d1fe2 - Inheritance applies to __clone() too.
- No need to add additional functions for the constructor.
  The handler uses the pointer as intended and doesn't look the the name.
2003-09-03 20:26:01 +00:00
Marcus Boerger
91ff8d67e7 Cannot turn a static property into a non static one and vice versa 2003-09-03 19:28:46 +00:00
Marcus Boerger
7bbbd5035d Fix handling of static properties initialized to arrays 2003-09-03 18:01:22 +00:00
Marcus Boerger
1d21d48e8a Add missing error messages when violating static property inheritance rules. 2003-09-03 16:34:35 +00:00
Marcus Boerger
1b39a5aa2c Fix static properties.
#
# There's only an errormessage missing which i'll wommit as soon as i find out
# how to do it best. But besides that damn message everything works now and all
# inheritance rules apply.
#
2003-09-03 16:13:40 +00:00
Marcus Boerger
1d3d396fea Allow redeclareing a protected property as public.
#
# The only known thing left at this moment is that the protected static members
# of a base class is different then the redeclared public property. I tried
# to remove both new and old static properties in the derived class and copy
# the base property with the new name. But for reasons i have to check later
# that didn't result in the expected behavior. Anyway we would need a warning
# if someone tries to change the value of a static property in a derived class.
#
2003-09-03 10:58:55 +00:00
Zeev Suraski
93f0ee5fda Revert bogus patch
One must *never* use E_CORE_* error levels!
2003-09-03 08:39:43 +00:00
Marcus Boerger
2f6e25da79 Clearly distinguish between Const, Static and Other members.
# Const and static props have more in common then static and dynamic/implicit.
2003-09-03 00:38:13 +00:00
3b2a06382b ChangeLog update 2003-09-03 00:31:52 +00:00
Marcus Boerger
d1b74000ad Fix error messages 2003-09-02 23:12:37 +00:00
Marcus Boerger
e569b5aee5 Allow redeclaring of protected properties as public (for internal classes).
# See http://news.php.net/article.php?group=php.zend-engine.cvs&article=1737
# for the part not fixed (e.g. property redeclaration of userland classes)
2003-09-02 20:49:42 +00:00
Marcus Boerger
560d3ab36a Use appropriate function for property name unmangling.
# Make Andrey happy
2003-09-02 14:46:02 +00:00
Marcus Boerger
7148cb9e73 Make these static as noticed by Andrey 2003-09-02 14:11:53 +00:00
Marcus Boerger
9702c70a35 Synch/Unify error messages related to function/method calls 2003-09-02 14:08:59 +00:00
Marcus Boerger
469b746b4d Fix error level 2003-09-02 13:28:34 +00:00
Marcus Boerger
0f3374615b Currently we cannot support static ctor/dtor 2003-09-02 13:26:25 +00:00
Marcus Boerger
bd86aff005 These are implicit properties as denoted by the flag. Dynamic properties only
exist in one single object and currently reflection api is not capable of
showing those.
2003-09-02 13:12:47 +00:00
Marcus Boerger
f03801bdd6 Don't loose information if no parameters were shown.
# Noticed by Sebatian Bergmann
2003-09-01 21:40:58 +00:00
Marcus Boerger
bca0019d43 Fix initial buffer size 2003-09-01 21:14:09 +00:00
Marcus Boerger
2b19c5435e Fix class handling of invoke 2003-09-01 21:11:38 +00:00
Marcus Boerger
d7fa986db8 Show {main} and prevent showing empty stack traces 2003-09-01 20:54:48 +00:00
Marcus Boerger
0036ed9064 Clearify this 2003-09-01 20:02:47 +00:00
Marcus Boerger
bef3e13caf Add missing '}' 2003-09-01 19:47:34 +00:00
Sebastian Bergmann
07ef05adb5 Revert what I think is an accidental commit by Marcus that slipped in at revision 1.23. Declaring getMessage() as final is a PITA, so I hope it will not come to that. 2003-09-01 17:26:57 +00:00
Marcus Boerger
cbd08869f2 Add static reflector::export() and its implementations.
#
# This makes the main reflection use a lot easier.
#
2003-09-01 16:13:24 +00:00
Marcus Boerger
a389286b99 Set the params in the struct 2003-09-01 15:09:57 +00:00
Marcus Boerger
c7f1c2f74f Invalidate exception in this case too 2003-09-01 13:05:50 +00:00
Marcus Boerger
1257b407a6 WS 2003-09-01 13:04:55 +00:00
ff647c501f ChangeLog update 2003-09-01 00:31:37 +00:00
Marcus Boerger
4506d4ea24 Don't repeat first const count(consts) time 2003-08-31 15:47:48 +00:00
Marcus Boerger
660c14e74a Beautify output 2003-08-31 15:30:13 +00:00
Marcus Boerger
4af0621036 Add reflection_parameters, patch by Timm Friebe 2003-08-31 15:06:54 +00:00
Marcus Boerger
f9ee319152 Excluded chars < 32 when displaying string parameters that would obliterate output. 2003-08-31 12:40:29 +00:00
Zeev Suraski
f1b80b9210 Attempt at fixing the linkage problem in Win32 2003-08-31 12:38:50 +00:00
Marcus Boerger
fb4a63a07d Synch error message with other one to fix tests 2003-08-31 11:38:31 +00:00
Marcus Boerger
8376b7eff7 Check whether we may access tat union 2003-08-31 11:21:30 +00:00
Marcus Boerger
d15ad4609d Revisited: Replace the non portable code by spprintf 2003-08-31 10:52:23 +00:00
Marcus Boerger
ade319ac54 Using zend_spprintf should be faster here 2003-08-31 10:06:13 +00:00
Marcus Boerger
d45fd8a1b1 Make vspprintf available as zend utility function. Use it in exception output. 2003-08-31 09:35:54 +00:00
c9a69abe25 ChangeLog update 2003-08-31 00:31:46 +00:00
Marcus Boerger
00fddc9b83 Actually fetch the parameter 2003-08-30 23:55:04 +00:00
Marcus Boerger
f1c92fa4c5 - Calling abstract methods should be a error for consistency reason.
- So in reflection_api we use the reflection_exception again.
2003-08-30 23:51:42 +00:00
Marcus Boerger
80c0cdf7f7 Even though it is ignored this should be correct 2003-08-30 19:01:10 +00:00
Marcus Boerger
655f2dc572 Add frame numer and finally display stack trace in the message.
#
# And voila - nice useable and helpfull exceptions in PHP.
# Now we need to tell ppl 'anyway don't use them if possible'.
#
2003-08-30 18:58:40 +00:00
Marcus Boerger
c80eb4573f Add exception::traceAsString() and exception::toString() 2003-08-30 18:28:24 +00:00
Marcus Boerger
6c69b28790 fci.function_table & fci.function_name are not needed since we use zend_fcall_info_cache 2003-08-30 13:47:27 +00:00
Marcus Boerger
e679504861 Be precise 2003-08-30 13:38:23 +00:00
Marcus Boerger
49a538d054 Actually using fcc would be a good idea 2003-08-30 12:58:35 +00:00
Marcus Boerger
f7f49e4584 - The compiler can't detect all abstract function calls so we need to check.
# In this case throwing a dedicated exception is better than the error we
# show when the compiler can detect the abstract call because its run-time.
2003-08-30 11:40:37 +00:00
Marcus Boerger
ad31a021bc Make those final (see comment) 2003-08-30 11:33:41 +00:00
707accd337 ChangeLog update 2003-08-30 00:31:40 +00:00
Marcus Boerger
047a574e6c - Add zend_merge_properties() which is designed to serve *_fetch_object().
- Explain drawbacks of object_and_properties_init and zend_merge_properties.
#
# I guess we can live with the purity problem of potentially calling __set()
# of an object which wasn't already ctored.
#
2003-08-29 23:27:22 +00:00
Marcus Boerger
50040c8ae9 - Use zend_fcall_info_cache in invoke() to improve speed.
# This also fixes the problem with calling static methods.
2003-08-29 21:46:12 +00:00
Zeev Suraski
aaa1cdca31 Fix a problem in implicit public properties and inheritance 2003-08-29 08:51:43 +00:00
Sascha Schumann
dcfb7638bc improve a number of zend_debug format strings 2003-08-29 07:34:37 +00:00
a92363f694 ChangeLog update 2003-08-29 00:31:41 +00:00
Marcus Boerger
bdd2d4aacf Need to tell zend_fetch_debug_backtrace() whether to skip top function or not.
# And i wondered why the trace wasn't rally accurate.
2003-08-29 00:16:00 +00:00
Marcus Boerger
b3f3ddd1b5 Add public read access to protected 2003-08-28 23:43:56 +00:00
Marcus Boerger
fa70708d15 Add zend_throw_exception_ex() which allows to format exception messages.
#
# Since we don't have any portable way of printing into a dynamic buffer i
# used a stack buffer of 1K (just like the error printing) and used a dynamic
# buffer in case the necessary function is available.
#
2003-08-28 22:56:41 +00:00
Marcus Boerger
12376a2270 Classe tables work this way 2003-08-28 22:53:24 +00:00
Marcus Boerger
8d3620aea8 - Split debug_backtrace() into lowlevel c function and php function wrapper
- Add trace property to default method based on new zend_fetch_debug_backtrace
# Unforunatley the handler for uncaught exception can't show this backtrace
# simply because there is currently no way to do it. If i can think of a
# solution i'll add it. Until them i am open to any ideas/help.
2003-08-28 20:35:54 +00:00
Sascha Schumann
744c68e447 older gccs don't understand attribute((format)) on function pointers 2003-08-28 17:31:31 +00:00
Sascha Schumann
83bd1f4398 ZEND_GCC_VERSION should always be defined to a number so we can use
simple comparisons all the time.
2003-08-28 17:04:16 +00:00
Sascha Schumann
2e36578cfd Add format attribute to a number of functions
Kill a few warnings
2003-08-28 16:41:20 +00:00
Sascha Schumann
169d43e5fa cleanup & centralize ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC so that
they can be used by downstream applications
2003-08-28 14:53:02 +00:00
Sascha Schumann
f065aba3ba Enable attribute((malloc)) for GCC 2.96 2003-08-28 11:55:39 +00:00
Sascha Schumann
6d7e56a0c8 GCC 2 does not know about malloc yet. 2003-08-28 06:17:05 +00:00
Sascha Schumann
cf1f6e3c4c provide attribute((malloc)) where appropiate 2003-08-28 05:50:15 +00:00
8a00475722 ChangeLog update 2003-08-28 00:32:00 +00:00
Marcus Boerger
43836e97c5 Nuke unused variable
# I should have taken Timm's patch
2003-08-27 20:48:41 +00:00
Marcus Boerger
7f5196953c Fix reflection_class::newInstance() 2003-08-27 20:45:34 +00:00
e01eddf01d ChangeLog update 2003-08-26 00:32:02 +00:00
foobar
28447d62da - Fixed bug #25240 (spaces before pre-processor directives) 2003-08-25 23:24:29 +00:00
15592ba096 ChangeLog update 2003-08-25 00:32:07 +00:00
Marcus Boerger
f9cebab0cb Add missing check 2003-08-24 22:45:59 +00:00
Marcus Boerger
9603e44eb6 Fix memory source of string duplication for non internal properties 2003-08-24 18:47:11 +00:00
Marcus Boerger
19ec7a09fc - Provide appropriate way to destroy internal zval's.
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.
2003-08-24 17:32:47 +00:00
Marcus Boerger
cec053f707 Don't identify alias'ed functions 2003-08-24 16:35:58 +00:00
Zeev Suraski
ea36fc4143 Use ""'s if you want empty strings. We want to crash on errors. 2003-08-24 16:27:01 +00:00
Zeev Suraski
a9107e2be1 Use pemalloc() 2003-08-24 16:17:45 +00:00
Marcus Boerger
b84e9db3b8 Allow NULL, too 2003-08-24 16:13:23 +00:00
Zeev Suraski
0ac5bbd780 Never, ever, overwrite the refcount element of a connected zval! 2003-08-24 15:59:19 +00:00
Marcus Boerger
e44d0f526c Add dedicated reflection_exception 2003-08-24 15:07:54 +00:00
Marcus Boerger
4e5e7502b8 Allow to throw instances of classes derived from exception 2003-08-24 15:07:00 +00:00
Marcus Boerger
d3473d1f58 - Provide a unified way to display uncaught exceptions, which shows
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Marcus Boerger
669603f69d Make invoke() work 2003-08-24 12:07:13 +00:00
Marcus Boerger
96d4ac7a3f zend_parse_parameters 'O' works the way we need here 2003-08-24 11:34:01 +00:00
Marcus Boerger
418a7f980c Not needed 2003-08-24 11:28:53 +00:00
Marcus Boerger
d4cf96c524 Make use method macros 2003-08-24 11:25:08 +00:00
Marcus Boerger
eef1b7b1e8 One of PPP is needed, too 2003-08-24 11:24:10 +00:00
Marcus Boerger
bd07968bef - Add Reflection_Function::isAlias
- Use ZEND_ME/ZEND_METHOD
- Fix static entries
2003-08-24 11:11:55 +00:00
Marcus Boerger
1c2512ddea - Add fn_flag ZEND_ACC_ALIAS
- Unify way of function_entry generation by new macro ZEND_FENTRY
2003-08-24 11:09:45 +00:00
Marcus Boerger
3605be8a29 Fix fn_flags handling 2003-08-24 11:07:30 +00:00
Marcus Boerger
38805f2809 Add property read code and use that in default exception class 2003-08-24 00:36:53 +00:00
b8799ff085 ChangeLog update 2003-08-24 00:32:03 +00:00
Marcus Boerger
c3d60fd7ff Allow zend_throw_exception() to also set the exception code 2003-08-23 19:48:52 +00:00
Marcus Boerger
96fa63d6bf Exception has 4 protected default properties (message,code,file,line).
They are all initialized at c-level constructor correctly.
2003-08-23 19:41:22 +00:00
Marcus Boerger
baaa4c903d Internal classes can now have default properties. 2003-08-23 19:37:39 +00:00
Marcus Boerger
5e77dc44dc Show ctor/dtor information and those don't return anything 2003-08-23 15:47:23 +00:00
Marcus Boerger
fbda310a41 - Flag ctor/dtor methods
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.
2003-08-23 15:38:58 +00:00
Marcus Boerger
43334207ab Make exception code more robust 2003-08-23 14:22:28 +00:00
d696f1267a ChangeLog update 2003-08-23 00:31:15 +00:00
Ilia Alshanetsky
f94b536bc8 Replace *magic number* with a much nicer define. 2003-08-22 18:50:12 +00:00
Ilia Alshanetsky
c29e30d3af Set 2147483647 as the module number of user defined constants
Fixed a few bugs and cleaned up get_defined_constants().
2003-08-22 02:08:10 +00:00
d963f8fea3 ChangeLog update 2003-08-22 00:31:48 +00:00
Marcus Boerger
0e32aaa8c6 Add function 'zend_throw_exception(char *message, int duplicate TSRMLS_DC);'
to provide an easy way to throw exceptions for extension developers.
2003-08-21 23:32:13 +00:00
Marcus Boerger
fda38bf2ff If ce not given than any object would do 2003-08-21 15:24:33 +00:00
Marcus Boerger
80b3498839 Paramspec 'O' / zend_parse_method_params(): only if given check the class type 2003-08-21 14:39:17 +00:00
a060bc75c7 ChangeLog update 2003-08-21 00:31:53 +00:00
Zeev Suraski
1e70f45112 adhere to silence 2003-08-20 23:27:04 +00:00
Marcus Boerger
56e8757d77 Fix counting number of leaks 2003-08-20 22:15:01 +00:00
90150d8625 ChangeLog update 2003-08-20 00:31:10 +00:00
Wez Furlong
1a40feb965 fix build 2003-08-19 01:15:47 +00:00
81ec251619 ChangeLog update 2003-08-19 00:30:59 +00:00
Wez Furlong
ef498a27b8 linkage for C++ 2003-08-18 23:19:27 +00:00
Zeev Suraski
6ab9c1a336 Prevent access to internal engine functionality 2003-08-18 23:11:58 +00:00
Zeev Suraski
49c4866a47 - Improve tracking
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Zeev Suraski
0dba58c373 Improve tracking 2003-08-18 21:17:26 +00:00
Zeev Suraski
76aaeebdf0 Improve tracking 2003-08-18 20:44:12 +00:00
Zeev Suraski
b5786d4220 ws 2003-08-18 20:43:09 +00:00
4863dd5323 ChangeLog update 2003-08-18 00:31:11 +00:00
Marcus Boerger
744dd20520 Fix warnings 2003-08-17 19:14:30 +00:00
Marcus Boerger
717b5afe1d Fix warnings 2003-08-17 18:56:54 +00:00
Sascha Schumann
602d1b0045 One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Sascha Schumann
c7d9be97ca explicitly cast size_t to zend_uint to avoid warnings on 64 bit platforms. 2003-08-17 13:45:51 +00:00
Marcus Boerger
6dbc0bdc35 Remove unnecessary if 2003-08-17 12:38:27 +00:00
Marcus Boerger
1e17ebe047 Put the code where it belongs - fixes a warning and confusion 2003-08-17 12:27:33 +00:00
Marcus Boerger
9c68f33b51 Implement a TBD: JMP to the end of foreach 2003-08-17 12:17:34 +00:00
Marcus Boerger
f2d4e4ca48 WS 2003-08-17 12:16:10 +00:00
Marcus Boerger
82050ae8bc - Show class names in error messages when dealing with methods
- Mark class as abstract if it gets an abstract method
2003-08-17 00:57:35 +00:00
eca2582760 ChangeLog update 2003-08-17 00:31:43 +00:00
Marcus Boerger
fe1a086d19 Simplify abstract method declaration 2003-08-16 20:46:22 +00:00
Marcus Boerger
7a12eb8a2d WS 2003-08-16 20:12:01 +00:00
beb51466d5 ChangeLog update 2003-08-16 00:31:07 +00:00
Sascha Schumann
b29b4441db Restrict scope of inline functions to compile unit
Submitted by: Jason Greene <jason@inetgurus.net>
2003-08-15 21:02:35 +00:00
5eb3bb00db ChangeLog update 2003-08-14 00:31:18 +00:00
31a0a30d9d ChangeLog update 2003-08-13 23:27:30 +00:00
ea2632506d ChangeLog update 2003-08-13 23:27:28 +00:00
808e49fea0 ChangeLog update 2003-08-13 23:24:59 +00:00
4713ec290a ChangeLog update 2003-08-13 23:20:59 +00:00
Marcus Boerger
ca9c03b504 Add missing entry 2003-08-13 07:17:16 +00:00
Marcus Boerger
e08aedf5ff - Show classes in case of methods
- Using sprintf here was a bad idea
2003-08-13 07:02:44 +00:00
e58a46c2ae ChangeLog update 2003-08-13 00:30:30 +00:00
Zeev Suraski
d2971e506c Remove bogus patch - the number of elements is unrelated 2003-08-12 06:21:02 +00:00
dc36db0715 ChangeLog update 2003-08-12 00:30:27 +00:00
Marcus Boerger
f77f977d0e Bugfix 21918 2003-08-11 20:14:25 +00:00
Masaki Fujimoto
ab9dcec292 - added script encoding support to Zend Engine 2.
this enables ZE2 to gracefully parse scripts written in UTF-8 (with BOM),
  UTF-16, UTF-32, Shift_JIS, ISO-2022-JP etc... (when configured with
  '--enable-zend-multibyte' and '--enable-mbstring')
2003-08-11 05:24:42 +00:00
ad29f2f006 ChangeLog update 2003-08-11 00:30:22 +00:00
Marcus Boerger
2bbf4ad261 Bugfix #24637 __destruct not called 2003-08-10 23:59:35 +00:00
ae4b25fe88 ChangeLog update 2003-08-10 00:30:29 +00:00
Moriyoshi Koizumi
fe489dcb4f Fix segfault when a referenced parameter is specified with typehint.
Result of the node will never be used because verify_instanceof handler has
been eliminated.
2003-08-09 19:29:38 +00:00
Marcus Boerger
d4aa155d25 Precise destructor errors 2003-08-09 14:32:33 +00:00
2d8509fe20 ChangeLog update 2003-08-08 00:30:25 +00:00
Moriyoshi Koizumi
35ffd45c26 Add missing right parensis 2003-08-07 19:36:13 +00:00
Zeev Suraski
5b312b571e Clarify use of original_function_state_ptr 2003-08-07 07:37:19 +00:00
Marcus Boerger
e9a4c91ca4 - Fix warnings
- Fix code
2003-08-07 07:17:34 +00:00
0f94f538ff ChangeLog update 2003-08-07 00:30:30 +00:00
Zeev Suraski
0a83ebfd56 clarify :) 2003-08-06 07:38:56 +00:00
26b85413ea ChangeLog update 2003-08-06 00:30:27 +00:00
foobar
cc011660e7 Fix the build 2003-08-05 23:50:59 +00:00
Zeev Suraski
92b4013e8d Try to put an end to the endless number of call_user_function variants.
zend_call_function() now takes a structure that should contain all of the
necessary information.  If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.

As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any).  Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.


The recently introduced fast_call_user_function() was removed

I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Stanislav Malyshev
8547de3f16 fix syntax 2003-08-05 08:03:26 +00:00
Stanislav Malyshev
f572897dea remove stack clean - it makes trouble 2003-08-05 07:56:49 +00:00
abd7612009 ChangeLog update 2003-08-05 00:30:17 +00:00
Marcus Boerger
de32c1de56 Fix ZTS 2003-08-04 19:57:53 +00:00
Marcus Boerger
65557ef672 Nuke unused variables 2003-08-04 19:56:12 +00:00
Marcus Boerger
3597704c64 Add function/method parameter reflection 2003-08-04 19:37:08 +00:00
Ilia Alshanetsky
1007b0a826 Fixed bug #23104 (hash position of static arrays not being reset) 2003-08-04 17:10:52 +00:00
Stanislav Malyshev
2884e8a715 oops. forgot function 2003-08-04 11:03:38 +00:00
Stanislav Malyshev
7cb1730293 fix crash #24842 2003-08-04 11:02:53 +00:00
Stanislav Malyshev
b6ff804cfe fix leaks: bug #24831 2003-08-04 10:40:05 +00:00
Stanislav Malyshev
a3dc90d8d0 use get_obj_zval_ptr 2003-08-04 10:30:42 +00:00
Stanislav Malyshev
3586a6a43b add test 2003-08-04 09:31:58 +00:00
Stanislav Malyshev
4d51526350 Fix #24884 - clone $this 2003-08-04 09:10:52 +00:00
Zeev Suraski
1959133fb3 Simplify code using XOR 2003-08-04 07:53:09 +00:00
Zeev Suraski
fe9b5870af Add logical XOR, proves to be quite useful lately 2003-08-04 07:52:36 +00:00
Zeev Suraski
6f53e48bb9 This check shouldn't be necessary 2003-08-04 07:52:09 +00:00
f1d8c1c448 ChangeLog update 2003-08-04 00:30:32 +00:00
Marcus Boerger
1f8fd69e78 Fix crash 2003-08-03 22:28:14 +00:00
Marcus Boerger
538aad24e3 Fix test and add missing initialization 2003-08-03 22:03:52 +00:00
Zeev Suraski
ef5a79bfed Ensure functions have a valid access level 2003-08-03 21:06:23 +00:00
Zeev Suraski
e3f4147931 Default to public 2003-08-03 21:04:39 +00:00
Marcus Boerger
8c614ddda4 Not needed, will be copied from ptr->flags later 2003-08-03 20:49:27 +00:00
Marcus Boerger
bdf84d4e12 Add missing arg info 2003-08-03 19:25:03 +00:00
Moriyoshi Koizumi
fb6300dd6c Style & WS fixes 2003-08-03 19:20:45 +00:00
Zeev Suraski
f8bbafd604 ntroduce infrastructure for supplying information about arguments,
including:

- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance

Both user and builtin functions share the same data structures.

To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:

ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
    ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
    ZEND_ARG_PASS_INFO(0)
    ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();

and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.

The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.

The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
Zeev Suraski
7112d3a3f8 No need for this initialization - this function initializes all of the
elements of zend_internal_function
2003-08-03 10:32:40 +00:00
Zeev Suraski
8b4bd4a8ec Clean up. extended_value can only contain either ZEND_UNSET_DIM or
ZEND_UNSET_OBJ.
2003-08-03 08:23:25 +00:00
Zeev Suraski
9d7122fb53 Generalize fetch_class 2003-08-03 08:21:08 +00:00
973b85672b ChangeLog update 2003-08-03 00:30:27 +00:00
Marcus Boerger
4f1e331c4d Initialize all struct members: Necessary for reflection 2003-08-02 19:03:14 +00:00
Marcus Boerger
04c90c8738 Show interfaces 2003-08-02 14:22:18 +00:00
Wez Furlong
0b6f7bddf4 fix usage of instanceof here too 2003-08-02 11:43:55 +00:00