Commit Graph

378 Commits

Author SHA1 Message Date
Dmitry Stogov
14f6b9149d Optimized zend_try/zend_catch macroses (eliminated memcpy()) 2006-05-19 06:09:15 +00:00
Ilia Alshanetsky
21724432de Fixed bug #35512 (Lack of read permission on main script results in
E_WARNING rather then E_ERROR).
2006-05-17 13:27:51 +00:00
Marcus Boerger
b3c3c6de14 - Missing __toString() pieces 2006-05-12 00:21:00 +00:00
Antony Dovgal
7412202c43 no need to destroy the zval here 2006-05-11 22:41:37 +00:00
Marcus Boerger
d76c516176 - Missing __ToString() sync 2006-05-10 21:13:22 +00:00
Marcus Boerger
848c5c7695 - Missing __tostring() conversion snippets 2006-05-10 19:36:47 +00:00
Antony Dovgal
8a03fc5ef3 add missing parts of E_RECOVERABLE merge 2006-05-10 14:04:18 +00:00
Marcus Boerger
637a40423c - MFH as discussed
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
  . zend_get_error_exception()   -> zend_get_error_exception(TSRMLS_D)
  . added E_RECOVERABLE_ERROR
  . added ZEND_TOSTRING_FUNC_NAME
  . added __tostring function cache to zend_class_entry
  . added ZEND_NAMED_ME
  . modified ZEND_ME_MAPPING to support method flags
  . added ZEND_MN
  . method entries now use prefix "zim_" instead of "zif_"
  . drop EG(ze1_compatibility_mode)
  . changed cast handler, now without (int should_free):
    typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
  . changed get_iterator, now receives whether value is by ref:
    zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
  . added zend_objects_store_add_ref_by_handle
  . added zend_objects_store_del_ref_by_handle
  . convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Antony Dovgal
0fab5aacce fix compilation on AIX 2006-03-30 21:39:01 +00:00
Antony Dovgal
a93bd9d493 fix #36878 (error messages are printed even though an exception has been thrown) 2006-03-27 22:07:38 +00:00
Dmitry Stogov
c31c984365 Optimization of module unloading (temporary modules can be only in the end) 2006-03-17 08:34:16 +00:00
Marcus Boerger
7addae5089 - MFH Use object handler get in the same way as the rest of the engine does 2006-03-02 00:45:28 +00:00
Marcus Boerger
3840e428bb - MFH Fix string-conversion and const updating 2006-03-01 17:21:04 +00:00
Andi Gutmans
61e93ccfe8 - Update copyright notices to 2006 2006-01-04 23:53:05 +00:00
Dmitry Stogov
8768ab94b3 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:48:17 +00:00
Dmitry Stogov
0a5d10a5b9 Fixed bug #35373 (HP-UX "alias not allowed in this configuration") 2005-11-30 10:29:44 +00:00
Dmitry Stogov
a8c6b992b8 Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte) 2005-11-15 13:29:39 +00:00
Dmitry Stogov
9e1beb4f1c Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared) 2005-11-07 12:24:55 +00:00
Antony Dovgal
f43767b249 fix #34505 (possible memory corruption when unmangling properties with empty names)
1st part
2005-09-16 17:05:09 +00:00
Dmitry Stogov
21698c12fe Fixed huge memory leak in ZTS mode (backport from HEAD) 2005-09-12 09:06:15 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Dmitry Stogov
1c82ec11a1 Fixed bug #33802 (throw Exception in error handler causes crash) 2005-07-22 07:33:03 +00:00
foobar
990aa7456e - Fixed bug #31358 (Older GCC versions do not provide portable va_copy()). 2005-06-27 22:04:41 +00:00
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