Commit Graph

310 Commits

Author SHA1 Message Date
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
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
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
Andi Gutmans
c0df450203 - Add E_STRICT, to be used to warn purists (like Jani :) 2003-11-18 09:25:04 +00:00
Marcus Boerger
316854323d Handle exceptions in casting more gracefully.
This fixes bug #26166
2003-11-08 14:06:08 +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
Ilia Alshanetsky
10def9a8ae Added missing format. 2003-09-22 04:21:44 +00:00
Marcus Boerger
71ba442768 Fallback to default behaviour for unsupported object type conversions 2003-09-18 11:50:05 +00:00
Marcus Boerger
9d7f2fd9f0 Bugfix #25335 2003-09-14 19:56:37 +00:00
Marcus Boerger
62421b5201 Fix registering/derigistering of stdClass in ZTS and NON ZTS mode 2003-09-08 10:45:19 +00:00
Marcus Boerger
c7f1c2f74f Invalidate exception in this case too 2003-09-01 13:05:50 +00:00
Marcus Boerger
d15ad4609d Revisited: Replace the non portable code by spprintf 2003-08-31 10:52:23 +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
Marcus Boerger
12376a2270 Classe tables work this way 2003-08-28 22:53:24 +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
Zeev Suraski
2fd4ffce17 Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
foobar
c50fbaf69a Remove the obfuscation caused by the double "#ifdef ZTS" 2003-07-29 01:30:59 +00:00
Zeev Suraski
9b13202723 Make print_r() binary safe with keys 2003-07-24 08:24:07 +00:00
Andi Gutmans
288dacca0c - ZE coding style requires if ( instead of if( 2003-06-30 20:22:35 +00:00
Stanislav Malyshev
b81873134b Fix bug #23279 - exception handler exits after first function call 2003-06-15 15:07:55 +00:00
Marcus Boerger
ceb91fba65 Bugfix #24182: va_arg macro error in Zend/zend.c 2003-06-14 09:25:36 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Zeev Suraski
d329ce93f2 Nicer handling of protected/private members in print_r() 2003-06-08 18:53:58 +00:00
Stanislav Malyshev
b4fcdaedee fix non-ZTS build 2003-06-04 09:09:47 +00:00
Sebastian Bergmann
f26c5f9ce4 Fix segfault. Again. 2003-06-04 08:52:43 +00:00
Stanislav Malyshev
039c174337 rm namespace leftovers 2003-06-04 08:16:55 +00:00
Sebastian Bergmann
d74d05f431 Fix segfault. #Hopefully not a Voodoo Fix[TM]. 2003-06-04 07:46:22 +00:00
Sebastian Bergmann
1fe874fbb8 Leftover. 2003-06-02 15:42:34 +00:00
Stanislav Malyshev
f7f5a5ea6b MEGA-patch: namespaces are R.I.P. 2003-06-02 12:13:11 +00:00
Marcus Boerger
9e4286112e Fix init shutdown 2003-05-31 19:21:52 +00:00
Sterling Hughes
ae2bfb7880 Assume lazy consensus regarding the cast_object() patch. *Only* implemented
from a internals perspective.  This callback has been very useful for both
ext/mono and ext/simplexml
2003-05-27 18:52:25 +00:00
Marcus Boerger
e6d0c8c237 Fix bug #23162 user_error() crashs if > 1024 bytes (Marcus, Moriyoshi) 2003-05-04 18:21:32 +00:00
Stanislav Malyshev
ad01495a48 Change get_class() so that it returns qualified names for namespaced
classes.

*HEADS UP*: get_class_name() handler interface is changed, now it should
allocate the space it returns with emalloc, and the users free it. If
anyone has problems with it or has suggestions how to do it without this -
please tell.

Also: make function_exists() understand namespaces.
2003-04-21 17:01:34 +00:00
Sebastian Bergmann
a17d2f37ea Corrected patch by Marcus Börger <helly@php.net>. 2003-04-19 09:04:15 +00:00
Sterling Hughes
48b3303217 Patch by Marcus Börger to fix some memleaks 2003-04-18 18:40:53 +00:00
Sebastian Bergmann
5be2fe410e Patch by Marcus Börger <helly@php.net>. 2003-04-17 14:33:38 +00:00
Andrei Zmievski
91eff553e3 Initialize all relevant zend_class_entry fields to avoid accidental
crashes.
2003-04-03 14:44:41 +00:00
Stanislav Malyshev
26c51b73f1 Use strncpy instead of sprintf 2003-03-31 07:34:05 +00:00
Stanislav Malyshev
f008808c82 Try to report class name of the exception 2003-03-30 13:19:00 +00:00
Sterling Hughes
05dfd313fb remove unused variable 2003-03-29 05:19:27 +00:00
Sebastian Bergmann
3fc852824f Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry(). 2003-03-26 07:44:11 +00:00
Andi Gutmans
eba65486ad - Fix win32 build 2003-03-23 21:27:22 +00:00
Stanislav Malyshev
5f47d77b42 resore namespace on shutdown - since some functions use
EG() and CG() pointers
2003-03-23 18:13:49 +00:00
Sterling Hughes
e6dfbc9565 add a standard Exception class. 2003-03-23 04:32:24 +00:00
Zeev Suraski
f7b7800479 Add infrastructure for JIT initialization of auto globals 2003-03-02 10:04:53 +00:00
Wez Furlong
e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
Zeev Suraski
372e08772d Fix initialization 2003-02-16 18:17:19 +00:00
Sebastian Bergmann
6d300baf84 ZTS fixes 2003-02-16 11:34:49 +00:00
Stanislav Malyshev
a4c3b2ce80 Namespace patch. Big changes:
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
	class X { ... }
	function bar { ... }
	var x = 1;
	const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).
2003-02-16 11:12:43 +00:00
Zeev Suraski
c17c7a2bfa Centralize class initialization 2003-02-10 16:11:24 +00:00
Zeev Suraski
17439aa9c4 Rework static class properties - now supports access restrictions 2003-02-05 13:35:52 +00:00
Zeev Suraski
471947b188 Reimplement PPP properties 2003-02-04 12:12:34 +00:00
foobar
333406bdc2 - Added some missing CVS $Id$ tags, headers and footers. 2003-02-01 01:49:15 +00:00
Stanislav Malyshev
f30f3590a1 ws 2003-01-14 12:13:51 +00:00
Stanislav Malyshev
d48ffd97d6 RIP handle_* functions. ZE2 will use __ handlers instead.
# Yes, I know this will break some things. I will fix those I can find shortly.
2003-01-12 17:16:07 +00:00
Sebastian Bergmann
24db7f182a ZTS fixes. 2003-01-12 14:25:58 +00:00
Stanislav Malyshev
9bba373a17 Use generic handlers instead of Z_OBJ 2003-01-12 13:45:50 +00:00
Zeev Suraski
424e98f4e2 Implemented compatibility mode
To enable - zend2.implicit_clone = on in php.ini or using ini_set()
2003-01-12 12:39:06 +00:00
Derick Rethans
2c44fab3a0 - Ported the zend_execute_internal hook to ZendEngine2. 2003-01-11 16:12:44 +00:00
Zeev Suraski
b817dab206 Fix leak 2003-01-09 09:22:44 +00:00
Sebastian Bergmann
2c5d4b8c23 Bump year. 2002-12-31 15:59:15 +00:00
Zeev Suraski
e062dffe6c - Implement public/protected/private methods.
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Andi Gutmans
27de54b0df - MFZE1 2002-12-01 19:47:02 +00:00
Andi Gutmans
f222884e2d - Revert as the patch doesn't compile 2002-12-01 19:22:30 +00:00
Andi Gutmans
b6ecd6704c - MFZE1 2002-12-01 19:07:07 +00:00
Andi Gutmans
671fff2fde h WHitespace 2002-11-30 11:20:25 +00:00
Andi Gutmans
2de45bec65 - Initialize constants_updated (by Marcus) 2002-11-29 16:35:46 +00:00
Andi Gutmans
5cb8fabb7d - Fix crash 2002-11-24 20:15:56 +00:00
Zeev Suraski
4be862b02c MFZE1 - error_reporting fix 2002-11-19 17:51:30 +00:00
Stig Bakken
b899f9bf63 Fixed some special cases that were crashing for the exception default
handler.
2002-11-05 06:10:05 +00:00
Derick Rethans
e6054d2857 - MFZE1 2002-11-02 09:05:18 +00:00
Andi Gutmans
cf36abb2eb - Change opcode dispatch mechanism to use a function per opcode and use
- a lookup table using the opcode # to call the correct function.
- Still have lots of tuning to do.
2002-10-18 21:19:27 +00:00
Ilia Alshanetsky
e842ef9f4b MFZE1 (floats & locale issue) 2002-10-12 21:15:35 +00:00
Andi Gutmans
7cba0254e7 - Allow access to private/protected variables of $clone inside the __clone()
- method
2002-10-07 21:20:23 +00:00
Zeev Suraski
bd115087e3 MFZE1 - connection_status() fix 2002-09-19 15:58:01 +00:00
Zeev Suraski
8a003f8021 Fix non ZTS build 2002-09-19 15:15:39 +00:00
Zeev Suraski
c29f5d6e9d Fix that obscure crash in Debug_TS mode 2002-09-19 15:12:20 +00:00
Zeev Suraski
5fcae67e9d Fix the thread-safe initialization of the ZE2. This should solve some
sporadic crashes, as well as the problem with the built-in constants.
2002-09-18 22:16:22 +00:00
Zeev Suraski
71126a21bc ZE2 fix 2002-09-17 12:44:10 +00:00
Zeev Suraski
711be83d49 MFZE1 - threading fix 2002-09-17 12:42:11 +00:00
Ilia Alshanetsky
1074fca0ae Make zend return a proper exit error code when it encounters a parse error. 2002-09-15 23:34:03 +00:00
Zeev Suraski
e801a99a50 MFZE1 2002-09-03 10:25:06 +00:00
Thies C. Arntzen
bdc35c9f2e clear current_execute_data on bailout as it would point into some freed area
on the stack.
2002-08-28 14:43:32 +00:00
Derick Rethans
a9d819818b - MFZE1 2002-08-28 09:49:40 +00:00
Stig Bakken
5a41ced0d7 * append emacs footer 2002-08-16 10:12:17 +00:00
Stig Bakken
bd7105f731 * remove builtin exception class 2002-08-16 10:11:32 +00:00
Andi Gutmans
38eea2e817 - Fix whitespace 2002-08-16 07:11:37 +00:00
Stig Bakken
04788f9503 @- Added set_exception_handler() function for registering a global,
@  catch-all exception handling function (Stig)
- Added set_exception_handler() function for registering a global,
  catch-all exception handling function (Stig)
2002-08-16 00:41:37 +00:00
Zeev Suraski
0bb780b384 MFZE1 2002-08-15 00:25:27 +00:00
Andi Gutmans
41e3f4f0c3 - Fix problem with debug_backtrace() reported by Stig. We weren't reporting
- global function information because it wasn't available. We have to do
- an additional assignment per-function call so that it'll be available.
- Also don't define the global scope as function name _main_ but leave it
- empty so that frameworks like Pear can decide what they want to do.
2002-07-26 10:38:25 +00:00
Andi Gutmans
bc5ea87e28 - Commit patch to support protected member variables (by Timm Friebe w/
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.
2002-07-15 18:09:56 +00:00
Derick Rethans
d4acdd349f - MFZE1 2002-06-18 17:36:33 +00:00
Andi Gutmans
b66c89c47a - More debug backtrace work. It still doesn't work very well... 2002-05-07 18:42:13 +00:00
Andi Gutmans
fb6976e46d - Another couple of indirection fixes.
- Make class_entry->refcount be part of the structure and not allocated.
2002-03-12 19:22:29 +00:00
Stanislav Malyshev
92dd5e611b - make class tables contain class_entry *, not class_entry
- fix isset($this)
2002-03-12 10:08:47 +00:00
Andi Gutmans
7df1601239 - MFZE1 2002-02-26 19:17:26 +00:00
Andi Gutmans
00e90f2ff3 - Experimental support for private members.
<?
	class MyClass {
		private $Hello = "Hello, World!\n";

		function printHello()
		{
			print $this->Hello;
		}
	}

	class MyClass2 extends MyClass {
		function printHello()
		{
			MyClass::printHello(); /* Should print */
			print $this->Hello; /* Shouldn't print out anything */
		}
	}

	$obj = new MyClass();
	print $obj->Hello; /* Shouldn't print out anything */
	$obj->printHello(); /* Should print */

	$obj = new MyClass2();
	print $obj->Hello; /* Shouldn't print out anything */
	$obj->printHello();
?>
2002-02-21 11:50:44 +00:00
Andi Gutmans
b9355b9a11 - Output error when there's an uncaught exception (by Timm Friebe) 2002-01-06 20:30:41 +00:00