Commit Graph

859 Commits

Author SHA1 Message Date
Matt Wilmas
b412586e4f Changed error messages to use "cannot" instead of "can not" (meaning "also can") 2009-06-07 15:45:46 +00:00
Matt Wilmas
8aa9727037 Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
 * See bug #42868 (presumably-rare platform with different results in 5.2)
 * On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
    otherwise it's the same as 5.2
 * Use this conversion method everywhere instead of some plain (long) casts

Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
 * Essentially what 5.3's new conversion was doing in most cases
 * Functions with "limit" or "length" type params could be updated to use this,
    and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
  - See bug #47854, for example; or even #42868 again

# Test updates coming
2009-06-04 18:18:47 +00:00
David Soria Parra
d482bb692a Remove duplicated code of zend_hash_func and alias it to zend_get_hash_value 2009-05-27 11:58:44 +00:00
Felipe Pena
6d34e06a2f - Dropped *_TEXT* macros in favor of unicode macros direct usage 2009-05-25 14:32:15 +00:00
Andrei Zmievski
afa4e41c2f Implement JIT request decoding support for $_GET and $_POST. 2009-05-23 18:03:27 +00:00
Brian Shire
82cabe1ca4 fix DVAL_TO_LVAL conversion for static array indexes, related to bug #46701 2009-04-22 21:27:17 +00:00
Hannes Magnusson
a563e4224d Fixed bug#47981 (error handler not called regardless) 2009-04-16 13:47:25 +00:00
Dmitry Stogov
e0f577693f Removed deprecated code and fixed function name in error message 2009-04-08 13:17:27 +00:00
Felipe Pena
e595ebf5e5 - Synced old changes 2009-04-04 17:19:29 +00:00
Felipe Pena
8ecf8ede1f - Removed:
- UG(unicode) checks
       - pcre_cache_entry.unicode_mode
- Changed:
       - ZEND_STR_TYPE -> IS_UNICODE
       - convert_to_text -> convert_to_unicode
       - convert_to_text_ex -> convert_to_unicode_ex

(Felipe, Steph)
2009-03-26 20:02:53 +00:00
Dmitry Stogov
4d616e7474 Clenaup deprecated namespace code 2009-03-10 10:01:28 +00:00
Dmitry Stogov
b5c6e15ab8 Removed wrong warning message 2009-01-20 13:22:26 +00:00
Dmitry Stogov
2c2ba5c2c3 Fixed bug #47165 (Possible memory corruption when passing return value by reference) 2009-01-20 11:23:04 +00:00
Dmitry Stogov
84f46ee437 Fixed bug #46755 (warning: use statement with non-compound name)
Fixed bug #46979 (use with non-compound name *has* effect)
2009-01-14 13:57:59 +00:00
Antony Dovgal
3e9606d2cf use correct check for constants and stop segfaulting 2009-01-08 22:35:30 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Stanislav Malyshev
579209d731 initialize op2 2008-12-15 11:31:56 +00:00
Stanislav Malyshev
636b2c9a6f MF5: Merge namespaces changes 2008-12-04 20:12:30 +00:00
Arnaud Le Blanc
9e3d2e3655 Fixed bug #46649 (Setting array element with that same array produces
inconsistent results)
2008-11-23 20:34:40 +00:00
Johannes Schlüter
23e04b542c Use a better function name for closure related errors and debug_backtrace() 2008-11-03 19:27:48 +00:00
Dmitry Stogov
a61fe7d8d4 Imporoved compile-time constant substitution (Matt) 2008-08-29 10:17:23 +00:00
Etienne Kneuss
b48e65f5bf - Fix the order, and avoid overwriting when implementing Serializable 2008-08-24 18:20:03 +00:00
Etienne Kneuss
74afa13d16 - Export zend_user_(un)serialize functions to be used by custom callbacks
- Transfer custom (un)serialize callbacks through inheritance
2008-08-24 17:01:22 +00:00
Felipe Pena
7de23da81e - Removed unused arguments 2008-08-22 15:51:50 +00:00
Felipe Pena
a5f867f3d5 - Constness (Added const qualifier to several function parameters) 2008-08-12 17:15:59 +00:00
Jani Taskinen
74e779a7a9 - No C++ comments in C files! 2008-08-03 11:47:09 +00:00
Dmitry Stogov
2ba22bb549 Fixed constant substitution in constant expression context 2008-07-31 14:27:55 +00:00
Dmitry Stogov
ebbd4f094f Fixed constant substitution (Matt) 2008-07-28 14:13:12 +00:00
Dmitry Stogov
ef5f3cfdf2 . Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt)
. Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt)
. Optimized interpolated strings to use one less opcode. (Matt)
2008-07-26 15:31:38 +00:00
Dmitry Stogov
d8208b0541 Substitute persistent constants by their values at compile time. (Matt) 2008-07-25 04:54:56 +00:00
Felipe Pena
8e1b4a55cc - Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:50:23 +00:00
Dmitry Stogov
fd2c7c2105 Fixed bug #45178 (memory corruption on assignment result of "new" by reference) 2008-07-24 11:48:30 +00:00
Dmitry Stogov
84625f5e7e Fixed is_callable() to support closures and return appropriate function name 2008-07-14 12:17:16 +00:00
Dmitry Stogov
8d2e0a7e0f Added closures support 2008-07-08 07:05:04 +00:00
Dmitry Stogov
ecf108e681 Allowed to override internal classaes with "use" 2008-06-20 17:17:19 +00:00
Felipe Pena
737dd4ef6e - MFB: Fixed bug #45089 (__callStatic $name case sensitivity) 2008-06-03 19:01:26 +00:00
Felipe Pena
15ec44e0bd - Fixed bug #44769 (declaring private magic methods should throw error) 2008-06-03 13:55:47 +00:00
Dmitry Stogov
25aaecc64d Fixed bug #44952 (isset() does not checks correctly variable variable) 2008-05-12 09:09:28 +00:00
Dmitry Stogov
37691b0cd0 Use IS_CV for dirrent access to $this variable 2008-05-07 12:04:58 +00:00
Dmitry Stogov
c1b01f7318 - Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR)
- Fixed bug #44913 (Segfault when using return in combination with nested loops and continue 2)
2008-05-05 11:02:46 +00:00
Dmitry Stogov
a0f5a72a8a Support for old-style constructors in namespaces 2008-05-05 09:44:07 +00:00
Dmitry Stogov
1d0f893b49 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:49 +00:00
Felipe Pena
d69738604f - Removed unused variables 2008-04-24 16:15:33 +00:00
Dmitry Stogov
3e7fc16078 Bug #44653 (Invalid namespace name resolution) 2008-04-09 08:55:31 +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
Felipe Pena
c3ca82f363 - Renamed zend_do_fetch_class_name() to zend_do_build_full_name() (It is not used only for classes)
- Moved zend_resolve_class_name prototype to zend_compile.h
2008-03-22 19:10:20 +00:00
Felipe Pena
24505f7c87 - Simplify zend_do_build_namespace_name()
- Fix macro (Z_USTRLEN/Z_STRLEN -> Z_UNILEN) in zend_do_fetch_class_name()
2008-03-21 20:41:22 +00:00
Dmitry Stogov
d390956ccb Removed hack (we don't need to modify class name).
(the problem is covered by Zend/tests/ns_056.phpt)
2008-03-18 11:37:15 +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
2c7b9a55cb Fix build 2008-03-18 00:37:35 +00:00