Wez Furlong
d80297b251
Fix bug #28438 : win32 build fails in non-zts mode
22 years ago
Dmitry Stogov
09d1d232fc
fix of fix related to __autoload. (ext/standard/tests/network/bug20134.phpt passes again)
23 years ago
Andi Gutmans
d6d52f6f2e
/* The compiler is not-reentrant. Make sure we __autoload() only during run-time
* (doesn't impact fuctionality of __autoload()
*/
23 years ago
Dmitry Stogov
2bbba73606
Using ALLOC_HASHTABLE/FREE_HASHTABLE instead of emalloc/free.
23 years ago
Dmitry Stogov
55cf45abf5
New autoload protection schema was implemented (Using HashTable instead of boolean flag)
23 years ago
Marcus Boerger
cbaa43ff12
Fix SEGV in certain conditions while calling static methods
23 years ago
Marcus Boerger
6e8c176a9d
TSRM fix
23 years ago
Derick Rethans
b0dbd2abcc
- Spaces to tabs
23 years ago
Andi Gutmans
833b97d4c2
- If the called method is static then don't define $this
23 years ago
Andi Gutmans
0041aff953
- Error out if get_method() isn't defined.
- Use calling scope of internal function callee when calling a method
using static syntax (array("A", "func"));
23 years ago
Marcus Boerger
09e76476ef
Improve error message
23 years ago
Andi Gutmans
1aedb9615a
- Fix windows build
23 years ago
Andi Gutmans
37d713ea49
- Fix for bug #27504
23 years ago
Marcus Boerger
50ee116f08
Clearify the different method/class flags (as discussed with Andi).
23 years ago
Marcus Boerger
c3b06ea21e
Check count.
23 years ago
Andi Gutmans
7c72f6ff61
- Fix crash in exception handling (zend_exception_error(...) and
zend_eval_string_ex() were buggy (Dmitry, Andi)
23 years ago
Zeev Suraski
eb6fd52e21
- Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
- Perform implementation checks even with simple inheritance (off when
compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
in order to have INI options available.
23 years ago
Zeev Suraski
00ed3bad29
Centralize exceptions code in zend_exceptions.[ch].
Remove zend_default_classes.h (use zend_exceptions.h instead)
NOTE: This currently breaks the build, fixes to php-src and pecl coming
soon
23 years ago
Zeev Suraski
d9630a595b
Exceptions updates:
- Enforce exceptions to be derived from class Exception. This allows
users to perform catch-all. It's not yet complete, so don't get
comfortable with it just yet :) Updates are coming soon.
- Implement zend_throw_exception() using zend_throw_exception_ex()
23 years ago
Andi Gutmans
559b14611d
- Add API function to throw exception by using an object
23 years ago
Zeev Suraski
75390796be
Fix bug #25038
23 years ago
Zeev Suraski
6b6fe2f76e
Fix exceptions thrown without a stack frame
Always enable set_exception_handler()
23 years ago
Zeev Suraski
73a6bcf5cf
Complete the fix for handling of exceptions happening during the
argument passing phase of function calls (fixes bug #26866 )
23 years ago
Zeev Suraski
4b632eba46
whitespace
23 years ago
Zeev Suraski
da36a7c249
Fix bug #26869
23 years ago
Zeev Suraski
e28ab687d2
Fix exceptions happening inside internal functions called through
zend_user_function()
23 years ago
Zeev Suraski
14ac17fa95
Remove double initialization
23 years ago
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)
23 years ago
Zeev Suraski
f5f7d569a0
Change destructor implementation (details will follow on internals@)
23 years ago
Zeev Suraski
c5a7b668cd
- Clean garbage (delete was nuked a long time ago)
23 years ago
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()
23 years ago
Zeev Suraski
c15d4ddb2b
Forward-port fix for timeouts under Windows
23 years ago
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.
23 years ago
Sebastian Bergmann
1e902b696d
Change message as proposed by Jon.
23 years ago
Marcus Boerger
6020ffd007
Simplify detection of methods that must be called dynamic (with object)
23 years ago
Marcus Boerger
79e7145cc7
Disallow calling __clone/__construct/__destruct static
Send an E_STRICT when calling a non static method static
23 years ago
Marcus Boerger
3df0288490
Improove debug capabilities
23 years ago
Zeev Suraski
a72c1ab93b
Added error mask to set_error_handler()
Patch by Christian Schneider <cschneid@cschneid.com>
23 years ago
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
23 years ago
Marcus Boerger
03e039b19d
Fix __autoload() with derived classes
23 years ago
Marcus Boerger
c6cb00fe59
Fixed bug #26697 (calling class_exists on a nonexistent class in __autoload
results in segfault).
23 years ago
Dmitry Stogov
ae4a09b239
*** empty log message ***
23 years ago
Dmitry Stogov
20f73cd267
Access to globals/autoglobals from class __destructor was fixed.
(see "tests/lang/bug24908.phpt" and "tests/classes/destructor_and_globals.phpt")
23 years ago
Dmitry Stogov
2d9281352b
Memory corruptions were fixed in zend_str_tolower_copy()
23 years ago
Marcus Boerger
39544e1c7f
Bugfix: #26591 [NEW]: "__autoload threw an exception" during an uncaught
Exception
23 years ago
Marcus Boerger
310d6c567a
Do not double copy the string
23 years ago
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.
23 years ago
Marcus Boerger
f3d385a587
Make __autoload() faster
23 years ago
Marcus Boerger
b28db6a2d3
Revert accidental commit
23 years ago
Marcus Boerger
071eaf8576
Zend/ZEND_CHANGES
23 years ago