Commit Graph

682 Commits

Author SHA1 Message Date
Xinchen Hui
0e4d46a3a7 MFH: Fix bug #61165 (Segfault - strip_tags()) 2012-03-02 02:51:57 +00:00
Xinchen Hui
5f4ae28459 Improve fix for #61165, the previous one cause #43450 test failed 2012-02-26 14:56:26 +00:00
Xinchen Hui
1ee93c83ff Fixed bug #61165 (Segfault - strip_tags()) 2012-02-25 04:36:08 +00:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Stefan Marr
2e5d5e5ac6 Fixed Bug #60173 (Wrong error message on reflective trait instantiation) 2011-10-31 22:59:00 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Hannes Magnusson
e5553b210a Revert r316345 which fixes all the tests again 2011-09-07 13:50:18 +00:00
Pierre Joye
59614b05c4 - reject paths with trainling spaces using the very good new zend arg 2011-09-07 12:33:22 +00:00
Hannes Magnusson
550980cfe5 Callable typehint following the rules of is_callable($arg, false); 2011-08-16 10:44:47 +00:00
Felipe Pena
619cfeef46 - Revert r314387
(property_info.name has the mangled name)
2011-08-07 13:04:02 +00:00
Rasmus Lerdorf
e2315d295a Use property_info.name here instead since *name might be free'ed at this point
@dmitry please review
2011-08-07 00:01:17 +00:00
Felipe Pena
13eb47a8bc - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
783b05326a - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Rasmus Lerdorf
2b6a290d55 Another potential missing va_end() found by Coverity 2011-08-05 22:26:16 +00:00
Rasmus Lerdorf
c1c2e18cb5 Another potential missing va_end() found by Coverity 2011-08-05 22:26:16 +00:00
Derick Rethans
4e5960ed88 - Added a check for an enviroment variable (ZEND_DONT_UNLOAD_MODULES) that, if
set, prevents PHP from dl_closing() modules on shutdown.
- This makes it possible to spot memory leaks with valgrind in shared modules.
2011-07-14 12:21:15 +00:00
Felipe Pena
9aa25d0938 - Minor optimization taking the computed hash of interned strings 2011-07-10 12:37:42 +00:00
Felipe Pena
ce211cf5e6 - Minor optimization, use the computed hash when available 2011-07-10 02:00:00 +00:00
Felipe Pena
0a0443f07c - Missing fixes for grammar fix 's/valid path/a valid path/' 2011-06-09 00:23:43 +00:00
Felipe Pena
ddaddf6c2a s/valid path/a valid path/ 2011-06-08 00:53:55 +00:00
Felipe Pena
32b5f8a1a3 - Added new parameter parsing option (p - for valid path (string without null byte in the middle))
# The tests will be fixed in the next commits
2011-06-06 21:28:16 +00:00
Stanislav Malyshev
e18618905c scalar types cleanup 2011-06-03 01:09:32 +00:00
Dmitry Stogov
eaeb4537ec MFH: Fixed bug #54910 (Crash when calling call_user_func with unknown function name) 2011-05-31 11:36:57 +00:00
Dmitry Stogov
c989a36927 Fixed bug #54910 (Crash when calling call_user_func with unknown function name) 2011-05-31 09:20:51 +00:00
Pierre Joye
6aed81764e - fix bug #54423, fix build in trunk, introduce by previous related commit 2011-03-31 23:58:06 +00:00
Antony Dovgal
dd5781bcdf fix bug #54423 (classes from dl()'ed extensions are not destroyed) 2011-03-31 11:59:34 +00:00
Antony Dovgal
6e7a3015e5 fix bug #54423 (classes from dl()'ed extensions are not destroyed) 2011-03-31 11:59:34 +00:00
Felipe Pena
64bbdd76c3 - Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu
2011-01-12 22:17:10 +00:00
Felipe Pena
c6544fad1a - Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu
2011-01-12 22:17:10 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Dmitry Stogov
3690ce39d9 zend_collect_module_handlers() has to be called after zend_extensions startup, because they can register additional 'hidden' extensions 2010-10-15 07:30:24 +00:00
Hartmut Holzgraefe
aaa2f1c30b marked char pointer arguments as const in lots of
places where strings pointed to are not modified 
to prevent compiler warnings about discarded qualifiers ...
2010-10-14 21:33:10 +00:00
Dmitry Stogov
f2df6a4a3e - Improved memory usage
. zend_function.pass_rest_by_reference is replaced by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
  . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags
  . zend_arg_info.required_num_args removed. it was needed only for internal
    functions. Now the first arg_info for internal function (which has special
    meaning) is represented by zend_internal_function_info structure.
  . zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count moved into CG(context), because they are used only during
    compilation.
  . zend_op_array.start_op is moved into EG(start_op), because it's used
    only for 'interactive' execution of single top-level op-array.
  . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
  . op_array.vars array is trimmed (reallocated) during pass_two.
  . zend_class_entry.constants_updated is replaced by
     ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
  . the size of zend_class_entry is reduced by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_inttry.info union.
2010-09-15 07:38:52 +00:00
Sascha Schumann
50a0ea7b8c separate properties of internal classes in ZTS mode fully,
otherwise multiple threads will modify the zvals' contents
without any synchronisation.
2010-08-12 07:58:14 +00:00
Dmitry Stogov
7566ff38a1 Fixed support for static properties of internal classes 2010-08-11 08:34:54 +00:00
Felipe Pena
3ea3bbaca3 - Fix ZTS build 2010-07-06 15:52:39 +00:00
Dmitry Stogov
1a1178a685 eliminated unnecessary iterations during request startup/shutdown 2010-07-06 11:40:17 +00:00
Dmitry Stogov
578d3159c6 Conditional compilation is replaced by macro 2010-05-26 15:42:59 +00:00
Antony Dovgal
435aa876fc fix zend_std_get_static_property() in ZTS mode 2010-05-25 20:16:14 +00:00
Dmitry Stogov
f7ce69585c - Interned string related callbacks moved turned from compiler_globals into real globals
- Updated API version number
2010-05-25 09:00:20 +00:00
Ilia Alshanetsky
33fae4caa0 Added support for numeric & scalar type hint as defined within
http://wiki.php.net/rfc/typecheckingstrictandweak RFC
2010-05-24 18:32:59 +00:00
Dmitry Stogov
f23e857676 Fixed ZTS build 2010-05-24 17:07:52 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Derick Rethans
1bc9247651 - Added scalar typehinting. 2010-05-20 19:18:35 +00:00
Felipe Pena
f5f4a35927 - Fixed bug #51827 (Bad warning when register_shutdown_function called with wrong num of parameters) 2010-05-14 23:48:03 +00:00
Felipe Pena
c9fc939be0 - Fixed bug #51827 (Bad warning when register_shutdown_function called with wrong num of parameters) 2010-05-14 23:48:03 +00:00
Dmitry Stogov
f4b927a42b Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks. 2010-05-11 10:41:19 +00:00
Dmitry Stogov
5b18acdcc9 Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks. 2010-05-11 10:41:19 +00:00
Dmitry Stogov
3a15e98155 Fixed a possible memory corruption in addcslashes(). 2010-05-04 08:02:51 +00:00
Johannes Schlüter
eb7e848f34 spread some more const 2010-04-28 10:11:50 +00:00
Dmitry Stogov
dd5c478be6 Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed. 2010-04-20 11:05:54 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Pierre Joye
15a3c450b7 - those are in 5.3.2 now, merge to 5.3.2 section is coming 2010-02-11 21:17:13 +00:00
Sebastian Bergmann
d2281d1dff sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php 2010-01-05 20:46:53 +00:00
Stanislav Malyshev
b9acd57000 fix flags handling in zend_parse_method_parameters_ex 2009-12-24 00:15:13 +00:00
Dmitry Stogov
832e181304 Reverted accidental change 2009-11-30 12:27:18 +00:00
Dmitry Stogov
5c56abb6e3 Fixed bug #50261 (Crash When Calling Parent Constructor with call_user_func()) 2009-11-30 11:39:53 +00:00
Pierre Joye
7f36b2ead4 - don't hide early declaration 2009-09-05 19:00:05 +00:00
Scott MacVicar
c54f6df978 Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific code. 2009-08-06 01:33:54 +00:00
Felipe Pena
bffd08072c - MFH: Fixed bug #48899 (is_callable returns true even if method does not exist in parent class) 2009-07-15 01:11:24 +00:00
Matt Wilmas
b907aa4331 MFH:
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:20:45 +00:00
Dmitry Stogov
82b86c1c38 Bug #47880 (crashes in call_user_func_array()) 2009-04-06 11:10:32 +00:00
Dmitry Stogov
875a27b7ed Fixed bug #47851 (is_callable throws fatal error) 2009-04-02 09:56:33 +00:00
Dmitry Stogov
343bcc26ab Fixed double efree() 2009-03-24 16:35:53 +00:00
Dmitry Stogov
5d060ebe05 Fixed __call() to be invoked on private/protected method access through callbacks 2009-01-14 11:56:08 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Dmitry Stogov
7d4fd3fd38 Fixed bug #46409 (__invoke method called outside of object context when using array_map) 2008-11-27 19:01:23 +00:00
Stanislav Malyshev
2016a84cae cleanup 2008-11-25 22:15:22 +00:00
Stanislav Malyshev
fce39ed9f7 add object-compatible array modes 2008-11-24 18:10:36 +00:00
Marcus Boerger
7126de4912 - Next step in namespaces, using / as namespace separator. 2008-11-04 15:58:55 +00:00
Dmitry Stogov
3c5ff0f8f4 Fixed bug #46246 (difference between call_user_func(array($this, $method)) and $this->$method()) 2008-10-10 15:19:35 +00:00
Antony Dovgal
b6a2c27232 MFH: fix zend_register_functions() not displaying duplicate functions (reported by Gopal) 2008-08-22 14:51:30 +00:00
Etienne Kneuss
f90255c66b MFH: Handlerify get_closure 2008-08-14 21:36:56 +00:00
Felipe Pena
3a9f17dfb8 - Fix build 2008-08-13 16:16:57 +00:00
Felipe Pena
cf7384aa40 - MFH: Constness (Added const qualifier to several function parameters) 2008-08-12 17:20:25 +00:00
Marcus Boerger
106864bcbb - MFH Fix memleak with new error handling stack'ing 2008-08-11 17:19:20 +00:00
Marcus Boerger
3f7a4b7e90 - MFH error handling, now with save, replace, restore 2008-08-08 17:47:31 +00:00
Dmitry Stogov
43f278ccaf Fixed bug #45744 (Case sensitive callback behaviour) 2008-08-07 12:04:14 +00:00
Felipe Pena
e304515ddb - MFH: Added parameter TSRMLS_DC in zend_is_callable() 2008-08-02 04:46:07 +00:00
Felipe Pena
11bc1de770 - MFH: Removed unnecessary TSRMLS_FETCH() 2008-08-02 02:50:18 +00:00
Dmitry Stogov
8ee5b58bbe Added checks for destroied objects 2008-07-26 18:32:20 +00:00
Dmitry Stogov
af05ce0af6 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:04 +00:00
Felipe Pena
0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Dmitry Stogov
feb8580166 LSB parent/self forwarding 2008-07-24 09:42:18 +00:00
Dmitry Stogov
0fa7fedfde Fixed is_callable() to support closures and return appropriate function name 2008-07-14 12:18:23 +00:00
Dmitry Stogov
d5ef2f466c Added support for lambda functions and closures 2008-07-14 09:49:03 +00:00
Felipe Pena
0da88458e2 - Fixed bug #45186 (__call depends on __callstatic in class scope) 2008-06-05 18:53:06 +00:00
Matt Wilmas
7da75d81e7 MFH: Add array_init_size() and use it where array size is known at initialization 2008-05-27 10:29:33 +00:00
Dmitry Stogov
907fa66507 Added API to use namesapces in internal extensions 2008-05-12 07:11:55 +00:00
Felipe Pena
1e650ca32d - MFH: Fixed detection of invalid class name 2008-05-08 18:51:28 +00:00
Dmitry Stogov
5a0253c14c Support for old-style constructors in namespaces 2008-05-05 09:44:39 +00:00
Dmitry Stogov
00346c2dbf Optimized detection of "__call" and "__callstatic" methods. 2008-03-25 13:04:03 +00:00
Felipe Pena
2b10c53ae1 MFH: Dropped zend.ze1_compatibility_mode
[DOC]
2008-03-18 14:10:45 +00:00
Antony Dovgal
cbdc4b9af8 fix segfault when trying to clone uncloneable object because of zend.ze1_compatibility_mode which we should have got rid of years ago 2008-03-06 17:28:26 +00:00
Sebastian Bergmann
1b03ecf1c7 MFH: Fugbix typo. 2008-02-19 06:52:43 +00:00
Marcus Boerger
da2a1799ca - MFH Windows build fix 2008-02-09 21:22:31 +00:00
Marcus Boerger
c7f71a7dd0 - MFH Simplify 2008-02-07 18:42:01 +00:00
Marcus Boerger
b7b41a6612 - MFH Fix missing check and tests 2008-02-06 20:40:19 +00:00
Marcus Boerger
0976a2646a - MFH Fix cross class tree reference issues with callbacks (colder,helly) 2008-02-05 19:08:24 +00:00
Antony Dovgal
4904889568 MFH: fix leak appearing when calling non-static protected or private methods as static 2008-02-02 22:29:41 +00:00
Marcus Boerger
da5b979f88 - MFH Add comment that explains why we need E_ERROR in those cases 2008-02-02 15:48:04 +00:00
Marcus Boerger
ac8e76c714 - Fix remaining issue (should be last one) 2008-02-02 15:18:30 +00:00
Marcus Boerger
7769fda15c - Drop useless TODO, this would need to be fixed in a generic way 2008-02-02 14:19:03 +00:00
Marcus Boerger
95a3cccf5f - Fix flag handling in message generation 2008-02-02 13:56:59 +00:00
Rasmus Lerdorf
539eaceddc What's the [0] for here? Looks wrong and causes stuff to segv 2008-02-02 01:12:01 +00:00
Rasmus Lerdorf
45db15ad4e Small tweak. Need to make array and string callback syntax behave the
same way.  Also change "cannot" to "should not" since we obviously
"can" make the call.
2008-02-01 23:09:10 +00:00
Marcus Boerger
e8a8acdf39 [DOC]
- Fix callable/static mess, the following will now all result in a E_STRICT
  . binding a dynamic function as a static callback
  . static call of a dynamic function
  . is_callable() on a static binding to a dynamic function
# [marcus@frodo PHP_5_3]$ php -a -d error_reporting=8191
# make: `sapi/cli/php' is up to date.
# Interactive shell
#
# php > class t{ function f() { echo "Funny\n"; } }
# php > $c = array("t","f");
# php > call_user_func($c);
#
# Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method t::f() cannot be called statically in php shell code on line 1
# Funny
# php > var_dump(is_callable($c));
#
# Strict Standards: Non-static method t::f() cannot be called statically in php shell code on line 1
# bool(true)
# php > t::f();
#
# Strict Standards: Non-static method t::f() should not be called statically in php shell code on line 1
# Funny
# php >
2008-02-01 21:27:55 +00:00
Dmitry Stogov
03c018d34e Fixed GC bug 2008-01-24 10:49:26 +00:00
Dmitry Stogov
0b6825102d Changed EG(argument_stack) implementation. 2008-01-24 09:41:39 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
43f6392e90 Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes) 2007-12-25 10:58:30 +00:00
Ilia Alshanetsky
11a93f62ac Fixed bug #43644 (is_callable(':') crashes) 2007-12-21 01:21:52 +00:00
Dmitry Stogov
648fbe9d58 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:27:13 +00:00
Dmitry Stogov
c3ab6bd091 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:12 +00:00
Jani Taskinen
129c125f7f - Fix confusing logic (sync with HEAD) 2007-11-05 11:43:31 +00:00
Jani Taskinen
b489251177 - MFH from HEAD:
. Folding tags
  . Parameter parsing
  . SPL debug info
  . array function improvements (not all yet)
  . Improvements to function calling with call_user_* functions
  . Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.
2007-11-02 19:40:39 +00:00
Antony Dovgal
7cef86c246 backport zero args checks from HEAD
(fixes error message when passing parameters to a function accepting none)
2007-10-30 10:17:41 +00:00
Sara Golemon
b38282c3fd Backport +/* vararg specifiers from PHP6 2007-10-29 17:09:57 +00:00
Yiduo (David) Wang
4b4d634cb9 MFH: Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:22:07 +00:00
Ilia Alshanetsky
b6817f82b1 Nuke unused vars 2007-09-30 16:53:10 +00:00
Dmitry Stogov
b20ed0d2e0 Added support for __callstatic() magic method. (Sara) 2007-09-29 08:52:40 +00:00
Dmitry Stogov
166266df68 Added support for Late Static Binding. (Dmitry, Etienne Kneuss) 2007-09-29 07:28:34 +00:00
Dmitry Stogov
f32ffe9b43 Namespaces 2007-09-28 19:52:53 +00:00
Dmitry Stogov
6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Antony Dovgal
90d58d4668 MFH: prohibit arguments by ref in magic methods 2007-08-31 12:36:14 +00:00
Dmitry Stogov
a382ede3e8 Fixed bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On) 2007-08-01 10:56:45 +00:00
Antony Dovgal
0cfa8b1a66 MFH 2007-07-06 12:17:58 +00:00
Antony Dovgal
770790af04 set module in internal_function struct 2007-05-30 10:17:43 +00:00
Marcus Boerger
bfbbe4110e - MFH Extensions are indexed lowercased and not case aware 2007-05-16 18:57:15 +00:00
Johannes Schlüter
e181e3ac7b - MFH Fix "f" modifier for zend_parse_parameters_ex in case of a __call call
# only affects iterator_apply() in 5_2 branch
2007-04-30 19:54:41 +00:00
Dmitry Stogov
e1814f0dbe WIN64 support 2007-04-16 08:09:56 +00:00
Antony Dovgal
b2e2994a6e fix #41026 (segfault when calling "self::method()" in shutdown functions) 2007-04-09 07:30:09 +00:00
Marcus Boerger
9c5ea420ac - MFH zend_info_call_*() stuff, fixes coverity issue #328, noticed by tony 2007-04-05 19:49:42 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
bbb923c7a8 MFH 2006-12-20 23:01:31 +00:00
Dmitry Stogov
c1ad451c3e Speedup array/HashTable copying. (Matt W) 2006-10-03 11:10:33 +00:00
Derick Rethans
c3e5ee1840 - Fixed typo. 2006-07-25 06:49:38 +00:00
foobar
2b8ad5a0af MFH:- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo) 2006-07-22 15:41:42 +00:00
Dmitry Stogov
9a98904ddd Fixed wrong "type" argument to read_property() handler 2006-07-21 08:39:30 +00:00
Antony Dovgal
5ffbb85103 MFH: init variables 2006-06-20 13:28:11 +00:00
Dmitry Stogov
ada4e506a7 MFH: Added automatic module globals management. 2006-06-15 14:03:21 +00:00
Marcus Boerger
64c353ab79 - MFH zend_fcall_info_*() and parameter parsing option 'f'
# Right now i see this as the best option but we might shuffle code around
# later if someone comes up with a better solution.
2006-06-07 09:43:54 +00:00
Marcus Boerger
5cdefd07cd - MFH Fix issue with interfaces being inherited multiple times 2006-06-07 09:21:06 +00:00
Zeev Suraski
51d495850a Restore ZE1 compatibility mode (Zend Engine part - the modules patches
will follow later today)
2006-06-05 13:58:52 +00:00
Marcus Boerger
6c0f166794 - Fix function flag check 2006-06-04 10:27:28 +00:00
Marcus Boerger
5f63b5c4ee - Revert until there is an ok for the full patch 2006-05-27 20:16:53 +00:00
Marcus Boerger
ca6a202160 - WS 2006-05-27 19:06:06 +00:00
Marcus Boerger
493f39da2d - MFH: Fix bug #37212 (Access to protected property of common base class)
By adding "zend_class_entry *ce" to struct zend_property_info;
2006-05-27 18:39:53 +00:00
Antony Dovgal
9dd24c6d87 fix error messages when converting objects to other types
add new function
MFB will follow soon
2006-05-25 10:01:06 +00:00
Marcus Boerger
f88a172959 - MFH Handle NULL in C argument parsing correct 2006-05-23 22:22:11 +00:00
Marcus Boerger
8d4eea74d5 - Fix double error raising issue 2006-05-23 21:50:29 +00:00
Marcus Boerger
d45250a058 - MFH code layout for __toString() use in parameter parsing api 2006-05-13 10:37:45 +00:00
Marcus Boerger
b3c3c6de14 - Missing __toString() pieces 2006-05-12 00:21:00 +00:00
Marcus Boerger
b636a534c1 - Drop second superflous zval_ptr_dtor in string arg parsing 2006-05-11 21:03:14 +00:00
Antony Dovgal
085e0fc51f fix segfault when passing objects where strings are expected 2006-05-11 15:10:36 +00:00
Marcus Boerger
848c5c7695 - Missing __tostring() conversion snippets 2006-05-10 19:36:47 +00:00
Antony Dovgal
4f37b2f354 nuke extra semi-colon 2006-05-10 13:49:27 +00:00
Marcus Boerger
637a40423c - MFH as discussed
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
  . zend_get_error_exception()   -> zend_get_error_exception(TSRMLS_D)
  . added E_RECOVERABLE_ERROR
  . added ZEND_TOSTRING_FUNC_NAME
  . added __tostring function cache to zend_class_entry
  . added ZEND_NAMED_ME
  . modified ZEND_ME_MAPPING to support method flags
  . added ZEND_MN
  . method entries now use prefix "zim_" instead of "zif_"
  . drop EG(ze1_compatibility_mode)
  . changed cast handler, now without (int should_free):
    typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
  . changed get_iterator, now receives whether value is by ref:
    zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
  . added zend_objects_store_add_ref_by_handle
  . added zend_objects_store_del_ref_by_handle
  . convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Dmitry Stogov
bdef85af21 Fixed bug #37138 (__autoload tries to load callback'ed self and parent) 2006-04-20 07:30:38 +00:00
Marcus Boerger
041e7470b1 - Initialized callable_name if present 2006-03-23 13:14:55 +00:00
Dmitry Stogov
c31c984365 Optimization of module unloading (temporary modules can be only in the end) 2006-03-17 08:34:16 +00:00
Marcus Boerger
35ce5db25e - Add missing function for completeness 2006-03-05 16:12:24 +00:00
Marcus Boerger
3840e428bb - MFH Fix string-conversion and const updating 2006-03-01 17:21:04 +00:00
Marcus Boerger
2e37e86366 - MFH Argument parsing specifier 'C', which is necessary for SPL already 2006-02-27 22:23:21 +00:00
Marcus Boerger
941b0651dc - MFH: Function deprecation flag 2006-02-25 18:25:45 +00:00
Marcus Boerger
f0d9ae46c3 - Fix method flag handling 2006-02-19 10:39:31 +00:00
Antony Dovgal
a3b941642c init variables 2006-02-06 20:37:11 +00:00
Marcus Boerger
77915bc208 - MFH 2006-01-25 22:03:18 +00:00
Marcus Boerger
add3c79a23 - Fixed bug #36011 2006-01-14 15:22:40 +00:00
Antony Dovgal
4972b45520 fix typo in the code and related tests 2006-01-06 20:55:14 +00:00
Andi Gutmans
61e93ccfe8 - Update copyright notices to 2006 2006-01-04 23:53:05 +00:00
Marcus Boerger
0cd997d79c - Simplify and synch is_callable_ex() with actual execution code
. Allow array($this, 'parent::method') for function 'pointers'
  . Spit out E_STRICT in case of erroneous use of function 'pointers'
2005-12-16 22:15:41 +00:00
Dmitry Stogov
8768ab94b3 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:48:17 +00:00
Antony Dovgal
794c2e8e5d change zend_read_property() to allocate property zval too 2005-11-23 18:51:44 +00:00
Antony Dovgal
1e93bb16e4 fix #35336 (crash on PDO::FETCH_CLASS + __set()) 2005-11-23 11:15:11 +00:00
Ilia Alshanetsky
b5c8fcb5fa Allow zend_parse_parameters to handle non-well formed integers, but raise
E_NOTICE in the process.
2005-11-17 00:19:23 +00:00
Marcus Boerger
83bdbe5b53 - Fix static check in zend_is_callable_ex()
- Fix/speedup zend_make_callable()
# Actually the ...STATIC... flag in zend_is_callable_ex() *must* go, too.
# We keep it for the moment to support old stuff and skip analyzing them
# in detail...
2005-11-03 23:45:18 +00:00
Marcus Boerger
a4bd0d6a25 - Add missing cases and checks 2005-11-02 20:30:13 +00:00
Dmitry Stogov
b05b949a47 Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms) 2005-10-28 14:46:30 +00:00
Ilia Alshanetsky
3a9cdbfd41 Fixed memory leak on error 2005-10-27 14:07:30 +00:00
Marcus Boerger
2486b846cc - MFH zend_is_callable_ex() returns zend_class_entry* if available 2005-10-25 23:19:59 +00:00
Antony Dovgal
d67821cd02 ws fix 2005-10-13 09:48:38 +00:00
Dmitry Stogov
594fd87ca7 Fixed bug #34678 (__call(), is_callable() and static methods) 2005-10-03 09:12:19 +00:00
Dmitry Stogov
248345d920 Support for class constants and static members for internal classes 2005-09-01 10:05:32 +00:00
Dmitry Stogov
a0d479994f Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE()) 2005-08-12 14:56:59 +00:00
foobar
0f2986fe9d - Show the dependancy name we could not find (req_mod is null here when it is not found :) 2005-08-08 14:25:05 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +00:00
Marcus Boerger
53e5260662 - Add convenience function zend_is_callable_ex() and base zend_is_callable
and zend_make_callable on it. This functions allows to check if a php
  variable is a callable function and returns its function pointer as well
  as object if possible.
# Commit this now so we can use it in 5.1.* series as discussed with Andi.
2005-07-28 20:55:50 +00:00
Marcus Boerger
1fad73d13d - Fix #33853
# When a static class function is being called then we first look for the
# class with name unchanged. If the class is then not available it the
# method can never be callable, thus we return 0. If the class is available
# the lowercased name will be broken up into class and function and 1 is
# being returned.
2005-07-25 20:24:11 +00:00
Dmitry Stogov
70bd938bbd Fixed bug in new module statrup mechanism 2005-07-18 16:20:08 +00:00
Dmitry Stogov
345e0255b5 Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods) 2005-07-07 16:07:09 +00:00
Dmitry Stogov
2ca2dc0b08 Restored old behavior of zend_statup_module() 2005-06-30 13:43:00 +00:00
Stanislav Malyshev
9727e938ee add comment 2005-06-29 08:43:38 +00:00
Stanislav Malyshev
d5a1296008 fix various "Class entry requested for an object without PHP class" messages
when working with non-PHP objects.
# Using Z_OBJCE(object)->name is usually bad idea unless you know it's
# a pure PHP object
2005-06-27 18:13:13 +00:00
Antony Dovgal
baf8cadeff improve error messages when error raised from an internal class (do not hide class name) 2005-06-17 11:25:31 +00:00
Dmitry Stogov
c0c7a9f010 Improved PHP extension loading mechanism with support for module dependencies and conflicts. 2005-06-17 09:36:26 +00:00
Dmitry Stogov
8b7a03c889 Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push()) 2005-04-29 07:59:04 +00:00
Dmitry Stogov
c81db6bc56 Fixed bug #29210 (Function: is_callable - no support for private and protected classes) 2005-04-27 15:45:36 +00:00
Dmitry Stogov
5f600cdf57 Fixed bug #30702 (cannot initialize class variable from class constant) 2005-04-26 09:27:28 +00:00
Marcus Boerger
67a226d910 - Add ReflectionProperty::getDocComment() 2005-04-19 22:04:59 +00:00
Andrei Zmievski
9bf6a7f229 internal_function->fn_flags is not initialized at this point 2005-03-21 06:20:17 +00:00
Wez Furlong
7de1d279cc don't call rshutdown twice for dl()'d modules.
Spotted by Andrei.
2005-03-16 04:18:42 +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
Marcus Boerger
c17d3dbbb7 - A little optimization to prevent problems when trying to reimplement an
interface inherited from an interfaces that was just implemented......
2005-02-17 21:05:04 +00:00
Marcus Boerger
c88da2bd92 - No C++ ruleZ here 2005-02-17 20:54:56 +00:00
Marcus Boerger
82ccc25113 - Actually we must do this in two steps: 1st resize the table and set all
interfaces, 2nd implement the interfaces
2005-02-17 20:49:56 +00:00
Marcus Boerger
02c35975c0 - Incrementation is done elsewhere 2005-02-17 20:28:46 +00:00
Marcus Boerger
a7e4f84c5d - Fix windows build (funny MS compiler) 2005-02-17 20:15:40 +00:00
Hartmut Holzgraefe
d88c2b18d4 added some missing zend_[declare|update]_property_...() convenience
functions for bool, double and binary safe string data
2005-02-04 20:24:21 +00:00
Marcus Boerger
1d5c13bdad - Fix #31651 (ReflectionClass::getDefaultProperties segfaults with arrays.) 2005-01-22 12:23:01 +00:00
Andi Gutmans
4908642c8c - Unload on MAC OS X (shouldn't be a reason not to) 2005-01-15 00:11:20 +00:00
Rasmus Lerdorf
2a3ca10a61 Fix OSX DL_UNLOAD macro and actually use it to make shared extensions
work on OSX.
2005-01-10 21:57:30 +00:00
Sebastian Bergmann
9a92e31cdd Patch by Joe Orton <jorton@redhat.com>. 2004-11-02 13:10:37 +00:00
Marcus Boerger
aa247a3276 - MFB (synch correctly not only for one problem) 2004-09-29 20:57:07 +00:00
Marcus Boerger
0ec6eb7aad - Refix the fix
# This somehow got lost and was then readded by Andi in 1.258 at the wrong
# position. Obviously we need to separate the argument first and convert it
# afterwards as done in 5.0.*.
2004-09-29 20:24:35 +00:00
Marcus Boerger
e39f3f3f48 Simplify/Optmize magic method calls (__get/__set/__call/__clone/__destruct) 2004-09-28 22:55:22 +00:00
Anantha Kesari H Y
b82a18c8da selectively avoiding module cleanup code for apache 1 build and removing a duplicate code 2004-09-24 15:40:22 +00:00
Anantha Kesari H Y
5af07c3c8b Aligned the ifdef NETWARE blocks to first column. 2004-09-22 14:31:21 +00:00
Anantha Kesari H Y
8478f5e38e When Apache is unloaded, it calls dlclose on all the PHP extensions
that are loaded in memory. In the case of Apache 1.3, this call is blocking indefinitely. As a work around, this call is bypassed for Apache 1.3 build on NetWare only. This means that none of the loaded PHP extensions are unloaded. They will have to be manually unloaded before re-loading the Apache 1.3 again.
2004-09-22 13:29:08 +00:00
Andi Gutmans
6bd3c36a53 - Recommit:
- Check signature of magic methods
  - Register __get/__set/__call for internal classes
2004-09-09 16:51:45 +00:00
Andi Gutmans
96ab56e146 - Roll back VM commit 2004-09-09 16:47:22 +00:00
Marcus Boerger
be24e2455c - Check signature of magic methods
- Register __get/__set/__call for internal classes
2004-09-09 09:51:43 +00:00
Andi Gutmans
f20f992ddd - Fix the fix. 2004-09-09 00:15:39 +00:00
Andi Gutmans
d7422e3821 - Don't destroy object when calling overloaded cast method in
- zend_parse_parameters()
2004-09-04 17:03:45 +00:00
Marcus Boerger
87187da066 - Add missing brackets 2004-08-24 18:47:18 +00:00
Marcus Boerger
a6276a2414 Fix #28641: Instance of Interface 2004-06-05 14:59:21 +00:00
Marcus Boerger
c8e72410be - Need to operate on module pointer in hash table 2004-05-18 21:19:15 +00:00
Stanislav Malyshev
da26db3054 Z_TYPE_P is for zvals 2004-05-18 16:13:57 +00:00
Wez Furlong
b949bfe651 Register according to the type specified by the module.
(Helps to fix dl() bug)
2004-05-18 15:26:13 +00:00
Marcus Boerger
aa7454aba4 - Centralize register and hash operations for startup/register_module
in new zend_register_module_ex().
2004-05-12 23:05:28 +00:00
Marcus Boerger
950ddcc9c2 - Revert to 1.249 2004-05-12 23:03:38 +00:00
Marcus Boerger
f571b188f9 Don't load modules twice 2004-05-01 20:34:15 +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
16a4376f53 Use lowercasing here 2004-03-28 23:56:18 +00:00
Marcus Boerger
aea24b2a79 Force destructors to have empty signatures 2004-03-26 20:05:35 +00:00
Marcus Boerger
50ee116f08 Clearify the different method/class flags (as discussed with Andi). 2004-03-09 16:38:37 +00:00
Marcus Boerger
8d45fece42 Fix zend_parse_method_parameters_ex() and make it consistant with
zend_parse_method_parameters().
# Obviously its only place of use is in pdo just right now.
2004-03-02 16:17:58 +00:00
Marcus Boerger
7fdd68af8b Add some comments 2004-02-27 18:20:53 +00:00
Marcus Boerger
f449c8fdf7 Fixes for abstract classes/methods 2004-02-27 09:14:55 +00:00
Zeev Suraski
7086634a0b - Improve ARG_INFO() macros to support supplying required_num_args
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)
2004-02-25 14:56:45 +00:00
Zeev Suraski
36a751840d - Abstract methods cannot have defaults for arguments
- Make function foo($a, $b=null) satisfy both foo($a) and foo($a, $b)
  prototypes
2004-02-25 09:25:37 +00:00
Marcus Boerger
ce8f77f7b1 Fix class flags when handling abstract methods 2004-02-24 23:39:12 +00:00
Zeev Suraski
e7e0f7d4b4 - Check return-by-reference bit when implementing interface prototypes
- Add infrastructure for built-in functions to hint whether they
  return by reference or not.  It is NOT currently used for anything,
  except for interface prototypes (you can use it to request that the
  function that implements your prototype returns by reference or
  doesn't return by reference).
  For downwards compatibility - by default, interface prototypes are
  agnostic as to whether the function that implements them returns
  by reference or not.  Use ZEND_BEGIN_ARG_INFO_EX() with
  ZEND_RETURN_VALUE/ZEND_RETURN_REFERENCE to change that.
- Fix ArrayAccess::getOffset() to conduct additional checks.
  If your getOffset() should work with multidimensional arrays - it
  must return by reference.
2004-02-12 13:49:55 +00:00
Marcus Boerger
3ca44539a1 Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
#   statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.
2004-01-24 16:59:24 +00:00
Marcus Boerger
6020ffd007 Simplify detection of methods that must be called dynamic (with object) 2004-01-23 22:04:42 +00:00
Marcus Boerger
7c2e02d380 Disallow static declaration of clone 2004-01-23 20:52:39 +00:00
Marcus Boerger
805dfab890 Add zend_get_module_started() to quickly check whether a module is present
and its MINIT function has been called.
2004-01-19 00:39:29 +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