Commit Graph

387 Commits

Author SHA1 Message Date
Dmitry Stogov
0f1209ab3d Portable unicode string API:
- use the same type (int) for zval.value.usr.len and zval.value.str.len
  - use union "zstr" as char*/UChar* mixture instead of void*
  - Z_UNISTR() and Z_UNILEN() no longer check for Z_TYPE()
  - nuke int32_t from ZE (not finisned)
2006-02-21 20:12:43 +00:00
Dmitry Stogov
b424a32610 Preparation for portable string API (use macroses to access zval). 2006-02-20 19:03:43 +00:00
Dmitry Stogov
09ca61c125 Made server wide switch for unicode on/off (according to PDM). 2006-02-13 10:23:59 +00:00
Marcus Boerger
5a4b6845dc - Fix ini unicode_semantics (patch by Brion Vibber) 2006-02-13 09:23:13 +00:00
Andrei Zmievski
d8db0d6a15 unicode_semantics cannot be set on per-request basis 2006-02-08 18:52:13 +00:00
Dmitry Stogov
227295a4f1 Unicode stuff is changed according to decision maden on PDM.
Now IS_BINRAY data type is removed and IS_STRING starts behave as IS_BINARY in unicode mode. IS_STRING is incompatible with IS_UNICODE, so ALL functions should be improved to support unicode mode.
2006-01-17 12:18:53 +00:00
Andi Gutmans
5de7cc3194 - Update copyright notices to 2006 2006-01-04 23:54:12 +00:00
Dmitry Stogov
feaa2501d0 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:49:51 +00:00
Dmitry Stogov
c58d4c590a Fixed bug #35373 (HP-UX "alias not allowed in this configuration") 2005-11-30 10:25:51 +00:00
Marcus Boerger
a40a48fbd4 - Move Reflection into its own extension 2005-11-17 22:59:39 +00:00
Dmitry Stogov
32fe5f2c3b Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension is compiled as shared) 2005-11-07 12:24:20 +00:00
Dmitry Stogov
8ac7004ea7 Unicode support 2005-10-12 10:12:15 +00:00
Marcus Boerger
7c083fcc07 - Have __toString() be called if available in all places an object is used
as a string.
#
# Note that "Object #<id>" is no longer afallback for debugging purpose use
# var_dump, which was made for debugging. If you used this to grab the id
# of an object you can never rely on this. For object storage look at SPL's
# ObjectStorage class.
#
# Note the signature change in the cast handler:
#
# int (*cast_t)(zval *readobj, zval *writeobj, int type, int should_free TSRMLS_DC);
# int (*cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
2005-10-05 19:02:27 +00:00
Dmitry Stogov
f94344d7fd Changed __toString() behavior to call it in all necessary places 2005-09-27 07:59:18 +00:00
Derick Rethans
0f391bb0b3 - Add E_RECOVERABLE.
#- Thought I did this before already actually...
2005-09-15 16:19:48 +00:00
Dmitry Stogov
3c2e00f903 Fixed huge memory leaks in ZTS mode 2005-09-09 08:19:56 +00:00
Dmitry Stogov
0638374ec9 Avoid unnecessary copying/freeing 2005-09-08 16:15:16 +00:00
Dmitry Stogov
7b7551085b Support for class constants and static members for internal classes 2005-09-01 10:05:01 +00:00
Dmitry Stogov
c75b5a798f Fixed unicode support bug 2005-08-30 07:19:05 +00:00
Dmitry Stogov
fc03492c0b Fixed memory leaks 2005-08-25 13:53:38 +00:00
Dmitry Stogov
b01df7d793 Fixed access to uninitialized variables 2005-08-25 07:56:15 +00:00
Dmitry Stogov
e47587e189 Fixed several unicode related bugs 2005-08-15 14:39:18 +00:00
Dmitry Stogov
fceb6086b2 Fixed another print_r() bug 2005-08-15 07:12:52 +00:00
Dmitry Stogov
feff569e96 Fixed print_r() in unicode mode. 2005-08-15 06:34:20 +00:00
Marcus Boerger
bc4202473e - Simplify and make work in all modes 2005-08-14 21:26:01 +00:00
Marcus Boerger
444befd82b - Treat class_name in the exact same manner as prop_name before 2005-08-14 15:19:45 +00:00
Dmitry Stogov
21c1109e0c Unicode support 2005-08-12 11:29:33 +00:00
Ilia Alshanetsky
f0bf07f2ad Fixed build, zend_error_noreturn was being defined twice. 2005-08-12 02:11:03 +00:00
Andrei Zmievski
b80cb7bd2f Unicode support 2005-08-11 23:35:03 +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