Anatol Belski
6f0f5d5281
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
fix C90 compat
2013-03-19 14:44:20 +01:00
Anatol Belski
7687b8b81c
fix C90 compat
2013-03-19 14:42:18 +01:00
Dmitry Stogov
4837bdb910
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed bug #63976 (Parent class incorrectly using child constant in class property)
Conflicts:
NEWS
2013-03-19 17:04:35 +04:00
Dmitry Stogov
7b0993bfb4
Fixed bug #63976 (Parent class incorrectly using child constant in class property)
2013-03-19 16:59:01 +04:00
Nikita Popov
b7788c52f1
Fix wrong macro usage and add missing NEWS entry
2013-03-15 13:48:33 +01:00
Nikita Popov
fcc6611de9
Add support for non-scalar Iterator keys in foreach
...
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Gustavo Lopes
b8603035d0
Merge remote-tracking branch 'cataphract/zpp_improv' into PHP-5.5
...
See https://wiki.php.net/rfc/zpp_improv
* cataphract/zpp_improv:
Update README.PARAMETER_PARSING_API
Export zend_parse_parameter()
Expose zend_parse_arg() as zend_parse_parameter()
zend_parse_parameters: allow ! for non pointers
2013-01-16 23:37:06 +01:00
Gustavo Lopes
07590e6e45
Export zend_parse_parameter()
2013-01-09 17:00:04 +01:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Xinchen Hui
3d86e6d881
Fixed bug #63726 (Memleak with static properties and internal/user classes)
...
No test scripts provided (will try to find one)
2012-12-10 20:29:51 +08:00
Dmitry Stogov
111aa9fd2e
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Fixed bug #63468 (wrong called method as callback with inheritance)
Conflicts:
NEWS
2012-11-20 12:54:40 +04:00
Dmitry Stogov
396c1e990a
Fixed bug #63468 (wrong called method as callback with inheritance)
2012-11-20 12:51:55 +04:00
Dmitry Stogov
ed3a2eec9c
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
Fixed bug #63111 (is_callable() lies for abstract static method)
Conflicts:
NEWS
2012-09-21 14:18:37 +04:00
Dmitry Stogov
4db74b7f19
Fixed bug #63111 (is_callable() lies for abstract static method)
2012-09-21 13:07:14 +04:00
Xinchen Hui
ee620e9673
Merge branch 'PHP-5.3' into PHP-5.4
2012-09-15 11:51:25 +08:00
Xinchen Hui
4c6678d605
Fixed bug #63093 (Segfault while load extension failed in zts-build).
2012-09-15 11:50:16 +08:00
Anatoliy Belsky
22f55d5665
Fixed bug #62313 Zend\tests\errmsg_021.phpt fails
2012-08-22 11:43:12 +02:00
Felipe Pena
7a72405171
Merge branch 'PHP-5.3' into PHP-5.4
...
* PHP-5.3:
- Value stored to var is never used
2012-08-19 12:44:49 -03:00
Felipe Pena
001966c754
- Value stored to var is never used
2012-08-19 12:44:44 -03:00
Xinchen Hui
d289efb457
Merge branch 'PHP-5.3' into PHP-5.4
...
Conflicts:
Zend/zend_API.h
2012-08-04 11:14:03 +08:00
Xinchen Hui
f4a315fce2
This becomes useless, since we have set that in the INIT macro
2012-08-04 11:03:21 +08:00
Xinchen Hui
03a1fcabf3
Fixed bug #62744 (dangling pointers made by zend_disable_class)
...
the test will be added while commit the fix for #62737
2012-08-04 10:41:26 +08:00
Gustavo André dos Santos Lopes
13f1d53b68
Expose zend_parse_arg() as zend_parse_parameter()
...
Sometimes, one wants to accept several types for a given parameter. zpp
has special functionality for detecting the NULL type, since the NULL
type is frequently used to skip parameters.
However, supporting several types is otherwise very tedious. There are
many cases where this situation arises -- for instance one may want
to accept an arbitrary number of integer and expect them in an array,
but allow a bare integer too; one may want to accept something that
will be used as an array key (which can be either and int or a string);
one may want to accept integer and double numbers. A search for IS_LONG
reveals many situations where this need arises.
The usual solution is to fetch the argument with 'z'/'Z', check its
type, and then convert the argument, e.g. with convert_to_long_ex().
As explain in the last commit, this has different behavior and
generates inconsistency.
Another -- even more flawed strategy --, is to try zpp with a specific
format, forcing it quiet, and if it fails retrying with another form.
But because zpp changes the arguments directly in the stack (for
instance, using "l" converts the zval in the stack to IS_LONG), the
arguments may look different after the first zpp, leaving subtle bugs.
This commit also allows more complex scenarios, for instance where the
expected type of one parameter depends on other parameters.
2012-07-18 23:30:03 +02:00
Gustavo André dos Santos Lopes
980dc7111b
zend_parse_parameters: allow ! for non pointers
...
This commit allows getting information about whether a certain value
was a NULL value by using the ! modifier together with the l/L, d and
b.
Example:
long l;
zend_bool is_null;
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l!", &l, &is_null)
For the specifiers l/L, d and b, NULL values are reported as 0, 0., or
false. But sometimes one wants to distinguish NULL from those other
values -- for instance, to give NULL the same effect as the argument
not having been passed.
The usual way this problem is handled is by fetching the parameter
with 'z' or 'Z', check if it is NULL and if not use
convert_to_long_ex()/convert_to_double_ex(), etc. Unfortunately, this
is not equivalent. convert_to_long_ex() does a cast, while zpp() is
stricter. For instance, zpp will not accept 'foo' for a long argument,
and it will emit a notice when encountering '5foo'.
In fact, the only way to otherwise zpp semantics (without duplicating
its logic) is to fetch the raw zval from the stack and check whether
it's NULL (with zpp itself or its relatives) and then run zpp again.
That is not an elegant solution.
2012-07-18 23:30:03 +02:00
Johannes Schlüter
82c05eeda9
Copy default properties of internal classes for different threads
2012-04-11 19:21:41 -07:00
Derick Rethans
ecf8986a9a
Add the ZEND_DONT_UNLOAD_MODULES environment variable for debugging to 5.3 as
...
well.
2012-03-06 18:25:55 +00:00
Dmitry Stogov
e182aeec10
Fixed module numbering
2012-03-05 12:47:25 +00:00
Dmitry Stogov
56a3f7eca8
Fixed module numbering
2012-03-05 12:47:25 +00:00
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