Commit Graph

355 Commits

Author SHA1 Message Date
Dmitry Stogov
47676bc067 Fixed OS X compatibility 2005-06-15 19:05:55 +00:00
Dmitry Stogov
cec2347c96 Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol 'zend_error').
The fix is not tested on Solaris and DARWIN!
2005-06-13 11:22:59 +00:00
Dmitry Stogov
59a46c34fa Fixed double call to php_stream_close() on compiler errors 2005-06-09 16:57:43 +00:00
Dmitry Stogov
e0b0ae9ce7 Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault) 2005-06-09 10:32:08 +00:00
Stanislav Malyshev
6ba1dd9cbc fix leak 2005-05-22 11:10:38 +00:00
Stanislav Malyshev
92c8c09da5 fix for #29890 - part 2 2005-05-18 18:10:24 +00:00
Antony Dovgal
5d8394879b fix bug #29975 (memory leaks when set_error_handler() is used inside error handler) 2005-05-13 23:08:43 +00:00
Stanislav Malyshev
7b34bb2be7 fix bug #32924: prepend does not add file to included files 2005-05-04 16:17:33 +00:00
Wez Furlong
35b0b8de99 fix shutdown so that dl()'d modules are unloaded after all the dtors have
been called.
2005-03-15 23:46:29 +00:00
foobar
2da8b014af MFB: - Rationalize code a bit 2005-01-09 16:18:39 +00:00
Stanislav Malyshev
9e9c193e1b port fix for #30998: Crash when user error handler returns false on amd64 2004-12-06 15:50:27 +00:00
Andi Gutmans
ec4f64344c - Recommit 2004-09-09 16:52:24 +00:00
Andi Gutmans
96ab56e146 - Roll back VM commit 2004-09-09 16:47:22 +00:00
Marcus Boerger
7bfb397338 - Drop namespace relict 2004-09-09 13:29:08 +00:00
Zeev Suraski
85a36e2bc3 Fix reverse dependency 2004-09-05 22:40:35 +00:00
Andi Gutmans
57ba9b8ccf - Second wave of garbage removal. 2004-08-19 20:29:04 +00:00
Marcus Boerger
0cd2da0309 - Execute destructors earlier (Florian Schaper, fschaper at intux org) 2004-07-25 07:14:49 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Andi Gutmans
334ddd1248 - Convert zend_class_entry -> zend_class_entry * 2004-07-12 16:38:45 +00:00
Jon Parise
d46f8078f5 DragonFly BSD is derived from FreeBSD and requires the same floating point
precision fix.
2004-07-10 19:29:01 +00:00
Andi Gutmans
2e19f82a7f - If user error handler returns "false" then we relay to the built in error
handler
2004-06-01 11:45:46 +00:00
Andrei Zmievski
915a990330 Allow user-defined error handlers to indicate whether default error
handler should be re-invoked, by returning true or false.
2004-05-28 17:28:33 +00:00
Marcus Boerger
d58fe0357d Retval may not be set when zend_execute() is overloaded 2004-04-17 14:02:40 +00:00
Andi Gutmans
979da66118 - Add hook for exception handler (Derick) 2004-04-13 15:19:21 +00:00
Marcus Boerger
5230321731 - Fix Reflection class names
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...
2004-03-30 18:36:53 +00:00
Marcus Boerger
1bf1b64c37 Initialize the complete struct 2004-03-28 21:09:37 +00:00
Stanislav Malyshev
3b8b43a947 try get handler on printable conversion 2004-03-28 12:06:10 +00:00
Marcus Boerger
63338975d4 Even though it is uncommented it should be right 2004-03-27 14:06:28 +00:00
Dmitry Stogov
55cf45abf5 New autoload protection schema was implemented (Using HashTable instead of boolean flag) 2004-03-24 14:30:59 +00:00
Andi Gutmans
09341786dc - Stop make_printable_zval() from calling __toString() 2004-03-17 15:49:34 +00:00
Derick Rethans
6535933f7c - Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
  are run. (Derick)
2004-03-16 22:27:26 +00:00
Ilia Alshanetsky
4c283fff27 Fixed bug #27590 (crash during shutdown when freeing persistent resources
in ZTS mode).
2004-03-14 20:11:13 +00:00
Andi Gutmans
7901a2218c - Fix flow of logic 2004-03-14 15:50:51 +00:00
Andi Gutmans
88de69b97c - Support Cast operator in convert_to_* so that we support internal
- extensions such as SimpleXML. This is for Sterling.
2004-03-14 13:52:36 +00:00
Andi Gutmans
7c72f6ff61 - Fix crash in exception handling (zend_exception_error(...) and
zend_eval_string_ex() were buggy (Dmitry, Andi)
2004-03-01 13:29:45 +00:00
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.
2004-02-25 10:57:10 +00:00
Zeev Suraski
666b44c11e Forward-port fixlet from PHP 4 (thanks to Michael Sisolak) 2004-02-18 08:53:56 +00:00
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
2004-02-12 10:38:14 +00:00
Marcus Boerger
2a8426a664 Must be initialized in ZTS mode 2004-02-11 22:58:03 +00:00
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
32007b19d8 Nice patch Christian, but it wasn't at all enabled? :)
Fix bug #26883
2004-01-15 16:47:32 +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
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
Marcus Boerger
c0b8e35997 Add missing notice 2003-12-29 21:58:03 +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
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