Commit Graph

487 Commits

Author SHA1 Message Date
Sebastian Bergmann
35e83d2afb sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
Stanislav Malyshev
7f775864d1 fix regression bug #50394: Reference argument converted to value in __call 2009-12-18 19:12:11 +00:00
Dmitry Stogov
a50b6f8ee0 Fixed unnecessary invokation of setitimer when timeouts have been disabled (Arvind Srinivasan) 2009-11-05 09:33:19 +00:00
Moriyoshi Koizumi
01ecb86a3c - WS fix (spaces to tabs) 2009-09-15 00:09:13 +00:00
Stanislav Malyshev
deb7825601 fix crash when unexpectedly passed by-ref parameter is modified 2009-08-18 20:51:49 +00:00
Stanislav Malyshev
cc8406151c fix for bug #49000 2009-07-30 05:01:53 +00:00
Pierre Joye
b908c70fa1 - silent compilation warnings (no MFH yet) 2009-06-15 14:06:30 +00:00
Matt Wilmas
e9b382cc2e Added zend_eval_stringl and made create_function(), etc. binary-safe 2009-06-05 18:50:10 +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
Felipe Pena
6d34e06a2f - Dropped *_TEXT* macros in favor of unicode macros direct usage 2009-05-25 14:32:15 +00:00
Dmitry Stogov
7407641998 Calculate hash value once 2009-04-08 13:18:15 +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
Matt Wilmas
b7c73cf1dd MFB (zend_execute_API.c v1.331.2.20.2.13): "Avoid strcpy() & strcat()"
Removed extra space from eval string, and unnecessary variable
2009-03-19 18:32:45 +00:00
Dmitry Stogov
83a6de49b1 Fixed floating point mathematic speed degradation (Christian) 2009-03-18 10:49:36 +00:00
Felipe Pena
fadd129268 - Fixed bug #47572 (zval_update_constant_ex: Segmentation fault) 2009-03-05 16:24:41 +00:00
Dmitry Stogov
15b5f9a8c7 Fixed bug #47320 ($php_errormsg out of scope in functions) 2009-02-09 09:20:46 +00:00
Marcus Boerger
ebd735786c - Catch exceptions in cli -a 2009-01-02 13:14:17 +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
Dmitry Stogov
e5454b359a Fixed bug #46409 (__invoke method called outside of object context when using array_map) 2008-11-27 19:02:45 +00:00
Etienne Kneuss
8251921307 Fix #46241 (stacked error_handlers, error_handling in general) 2008-11-19 01:59:07 +00:00
Etienne Kneuss
ee9cbc9fed Use enum alternative instead of explicit value 2008-10-02 19:53:48 +00:00
Antony Dovgal
e632946e9b initialize variable 2008-10-01 14:30:50 +00:00
Dmitry Stogov
a28485ccf5 Fixed bug #46106 (Memory leaks when using global statement) 2008-09-17 15:11:40 +00:00
Etienne Kneuss
4396e6ec11 Fix #45656 (new Class silenting exceptions in autoloaders) 2008-09-15 10:19:15 +00:00
Dmitry Stogov
1c683b2f0a Fixed bug #45910 (Cannot declare self-referencing constant) 2008-08-26 08:38:15 +00:00
Marcus Boerger
75b08f4adf - Improved exception linking 2008-08-14 10:06:39 +00:00
Nuno Lopes
a99fad3b16 MFB: move empty_fcall_info* to const table 2008-08-12 21:52:54 +00:00
Marcus Boerger
7f6d70ee5b - Fix shutdown order 2008-08-11 17:33:02 +00:00
Marcus Boerger
034d2e5916 - Turns out the easy solution for correct error_handling doesn't work. So
we need to provide save/replace/restore functions right away. It also
  to save/restore in the vm.
2008-08-08 17:10:49 +00:00
Marcus Boerger
805cc4bf50 - PHP 5.3 todo, store error handling mode on stack when executing internal
or overloaded functions and methods. The issue is that a function might
  set and rely on a certain mode and then calls another internal function
  which changes it again, probably changing it back to the normal mode.
  With this change we need to drop all calls that change the mode back to
  normal using php_std_error_handling(). However there might be places
  where someone wants to restore the last mode. If there is such a case we
  need to add two functions one to save and one to restore. I briefly on
  this and not all cases are clear, especially one in sqlite but that seems
  to be a rather misleading comment. Eitherway I chose to not drop and mark
  as deprecated for now.
2008-08-08 13:18:31 +00:00
Dmitry Stogov
d93a86b4d2 Fixed bug #44100 (Inconsistent handling of static array declarations with duplicate keys). 2008-08-01 14:21:46 +00:00
Dmitry Stogov
192caef98c Added support for overloaded functions (e.g. COM) in call_user_func(). 2008-07-26 17:01:59 +00:00
Dmitry Stogov
bdf7981e28 Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B" 2008-07-26 13:14:56 +00:00
Dmitry Stogov
013059c247 Fixed uninitialized data 2008-07-25 08:53:11 +00:00
Dmitry Stogov
72dfe66661 LSB parent/self forwarding 2008-07-24 10:14:01 +00:00
Dmitry Stogov
8d2e0a7e0f Added closures support 2008-07-08 07:05:04 +00:00
Felipe Pena
0e74a12ae1 - MFB: Fixed bug #45180 ('class::method' works differently than array('class', 'method')) 2008-06-05 19:14:25 +00:00
Felipe Pena
737dd4ef6e - MFB: Fixed bug #45089 (__callStatic $name case sensitivity) 2008-06-03 19:01:26 +00:00
Dmitry Stogov
37691b0cd0 Use IS_CV for dirrent access to $this variable 2008-05-07 12:04:58 +00:00
Dmitry Stogov
ad9b3c053b Use lazy symbol table initialization for op_arrays called from internal php functions 2008-05-06 17:01:07 +00:00
Dmitry Stogov
c9652e94f5 GC fix 2008-05-06 16:02:50 +00:00
Dmitry Stogov
20abb52b1e Added missing lazy initialization 2008-04-29 09:18:54 +00:00
Dmitry Stogov
1d0f893b49 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:49 +00:00
Dmitry Stogov
b287ccf508 Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not
used.
2008-04-11 09:43:49 +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
3cbc824eb7 Better readability (USTR_BYTES) 2008-03-07 00:51:02 +00:00
Dmitry Stogov
d5e54a7f27 Fixed shared memory corruption of opcode caches 2008-03-04 11:44:15 +00:00
Marcus Boerger
6b58678c63 - Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus) 2008-02-23 17:03:53 +00:00