1
0
mirror of https://github.com/php/php-src.git synced 2026-04-25 08:58:28 +02:00
Commit Graph

484 Commits

Author SHA1 Message Date
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
Marcus Boerger 8b12839a3b -Add comment that explains wh we need E_ERROR in those cases 2008-02-02 15:46:19 +00:00
Marcus Boerger f7a0a44b84 - MFB static callable message mess 2008-02-02 15:23:22 +00:00
Antony Dovgal dbd82ddf19 fix #43973 (__autoload called with wrong classname when triggered by static callback)
the issue was present only in HEAD
patch by Felipe
2008-01-30 12:30:57 +00:00