Commit Graph

184 Commits

Author SHA1 Message Date
Pierre Joye
39695546ca - add EG(windows_version_info), set at init time once per instance
contains a OSVERSIONINFOEX struct. It lets us determine easily on which windows version is used (for example)
2009-01-16 10:03:21 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Stanislav Malyshev
636b2c9a6f MF5: Merge namespaces changes 2008-12-04 20:12:30 +00:00
Marcus Boerger
75b08f4adf - Improved exception linking 2008-08-14 10:06:39 +00:00
Marcus Boerger
320c954402 - Fix memleak with new error handling stack'ing 2008-08-11 17:19:01 +00:00
Scott MacVicar
a000866c43 MFB: Fixes to heredoc and cleanup of new re2c scanner. (Patch by Matt Wilmas) 2008-04-09 21:07:45 +00:00
Scott MacVicar
e55a0de496 MFB 5.3: Rewrite scanner to be based on re2c instead of flex
There are still changes in regards to parsing of Unicode encoded scripts to come.
2008-03-26 14:23:02 +00:00
Rasmus Lerdorf
b911467d1d MFB
Here are the signal changes from the 5.3 branch that optimizes signal
handler registration and switches from longjmp to siglongjmp in order
to make signal mask handling consistent across different UNIX operating
systems.
2008-03-19 16:37:49 +00:00
Dmitry Stogov
ea9305c543 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:49 +00:00
Felipe Pena
3a3ebace1c MFB: User error handlers no longer catch supressed errors (patch by Etienne Kneuss) 2008-03-08 22:03:21 +00:00
Dmitry Stogov
2971e13836 Changed EG(argument_stack) implementation. 2008-01-24 09:41:48 +00:00
Dmitry Stogov
27d1e925e2 Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end 2008-01-21 19:41:41 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Dmitry Stogov
3f247aaf10 Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead) 2007-11-20 09:51:44 +00:00
Jani Taskinen
f964370a35 - Added ".htaccess" style user-defined php.ini files support for
CGI/FastCGI.
- Added support for special [PATH=/opt/httpd/www.example.com/] sections
  in php.ini. All directives set in these sections will not be able to be
  overridden in user-defined ini-files or during runtime in the specified
  path.

- Improved php.ini handling:
  . Added better error reporting for syntax errors in php.ini files
  . Allowed "ini-variables" to be used almost everywhere ini php.ini files
  . Allowed using alphanumeric/variable indexes in "array" ini options
  . Fixed get_cfg_var() to be able to return "array" ini options

- Fixed bug #27372 (parse error loading browscap.ini at apache startup)
- Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
  characters)

@DOC Pierre promised to handle the manual part of this :D
2007-09-28 02:04:28 +00:00
Dmitry Stogov
189ac4f201 Late Static Binding (Dmitry, Etienne Kneuss) 2007-09-26 07:16:33 +00:00
Dmitry Stogov
1f413bbc37 Namespaces 2007-07-12 09:23:48 +00:00
Dmitry Stogov
d7df9badf6 Added runtime JIT auto-globals fetching and caching 2007-02-16 19:36:45 +00:00
Sebastian Bergmann
3717df72ae Bump year. 2007-01-01 09:29:37 +00:00
Andrei Zmievski
75c272440e Turn doc comments into zstr strings with corresponding adjustments. 2006-10-27 21:22:05 +00:00
Andrei Zmievski
966d8022b9 Fix off-by-one error. 2006-09-29 20:59:26 +00:00
Sara Golemon
3f56da6eba Add INI controlled default stream encoding (unicode.stream_encoding).
Add convenience function stream_defualt_encoding() for setting it.
2006-09-19 20:36:48 +00:00
Antony Dovgal
398a45429e fix #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) 2006-09-11 14:28:19 +00:00
Dmitry Stogov
6687f0377b New memory manager 2006-07-18 09:08:06 +00:00
Andrei Zmievski
37972451f8 Implement unicode_set_error_handler() / unicode_restore_error_handler().
The error handler doesn't do anything yet. (vaporware)
2006-06-20 23:00:02 +00:00
Dmitry Stogov
ab9e070bbf Optimized zend_try/zend_catch macroses (eliminated memcpy()) 2006-05-19 06:11:02 +00:00
Dmitry Stogov
1985424c4d Optimized request shutdown sequence to iterate only over modified ini directives 2006-05-15 14:53:47 +00:00
Andrei Zmievski
534cad7064 Add a global ASCII connverter, macros to return single codepoints
(UCHAR32), and zend_unicode_to_ascii() function.
2006-05-04 21:22:17 +00:00
Andrei Zmievski
16c55fb25a Move to refcounted implementation of collators. 2006-04-20 21:56:43 +00:00
Sara Golemon
fd606a8d78 Add API hooks and unicode.filesystem_encoding for handling unicode
conversions of filename entries.

Normal path conversions will simply use this converter,
Certain other protocols (such as http) which specify a
required character set (utf8), may override the conversion
by defining a path_encode() and/or path_decode() wrapper ops method.
2006-03-31 22:51:37 +00:00
Andrei Zmievski
1709428494 Implement to-Unicode conversion error behavior. Note the adjusted APIs. 2006-03-26 06:19:24 +00:00
Andrei Zmievski
930bde5897 * Remove unicode.from_error_mode and unicode.from_subst_char from INI
settings.
* Add unicode_set_error_mode() and unicode_set_subst_char() functions to
  manipulate these global settings.
2006-03-26 01:48:33 +00:00
Andrei Zmievski
1c09ef8e37 Update conversion error behavior and add some new modes.
# The various escape modes are what ICU calls them. We may want to come
# up with different names for UNICODE/ICU/JAVA ones..
2006-03-23 22:00:42 +00:00
Dmitry Stogov
9d7ca01c8b Dropped allow_call_time_pass_reference, the error is maden E_STRICT. 2006-03-16 11:32:00 +00:00
Dmitry Stogov
7c0e534157 Dropped zend.ze1_compatibility_mode 2006-03-16 10:33:23 +00:00
Dmitry Stogov
f8576f84dc Implemented "jump label" operator (limited "goto") 2006-03-10 08:29:43 +00:00
Dmitry Stogov
432cae3222 Reverted "break label" 2006-03-07 08:43:21 +00:00
Dmitry Stogov
2a2050d4e3 Added support for "continue" and "break" operators with labels. Each loop or switch statement can be marked by label and then it is possible to write "break <label>" instead of "break <number>". 2006-03-03 13:09:13 +00:00
Dmitry Stogov
09ca61c125 Made server wide switch for unicode on/off (according to PDM). 2006-02-13 10:23:59 +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
Andrei Zmievski
d0d6a1f16f - Require declare(encoding=...) to come before any opcodes. Read source
comments for more info.
- Op arrays now know which script encoding they were compiled from.
- Use this information to intelligently convert inline HTML blocks to
  the output encoding. Currently it opens and closes a new converter for
  each block, but we can optimize it.
2005-08-24 20:42:09 +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
Derick Rethans
e612284ea4 - Fixed bug #30630: Added a BSD based strtod function that is
locale-independent.
2004-11-03 23:13:32 +00:00
Anantha Kesari H Y
b04db9d9e0 Reverted the NetWare Specific Stack limit related patches as asked by Andi 2004-09-23 06:23:36 +00:00
Anantha Kesari H Y
b66e7aec62 NetWare specific stack limit checks 2004-09-22 15:51:56 +00:00
Marcus Boerger
b7a8297bc1 - Boost up __autoload() calls by caching the lookup 2004-08-23 20:57:40 +00:00
Andi Gutmans
57ba9b8ccf - Second wave of garbage removal. 2004-08-19 20:29:04 +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