Commit Graph

456 Commits

Author SHA1 Message Date
Marcus Boerger
63d00f7006 - MFH Move stdClass registering where it should be 2008-12-31 12:26:33 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Marcus Boerger
826cc0dc3d - MFH Provide a core module that contains all Zend and php/main (in 5.3 incl. stdClass) 2008-12-30 20:15:28 +00:00
Hannes Magnusson
7cfc6b9116 Fix arginfo and proto 2008-12-30 18:55:16 +00:00
Marcus Boerger
ff037203c7 MFH Use a module struct for the built-in functions 2008-12-30 18:17:44 +00:00
Johannes Schlüter
d828b8acc0 MFH: Fix #46813 (class_exists doesn`t work with fully qualified namespace) 2008-12-09 19:17:11 +00:00
Felipe Pena
34742e3f13 MFH:
- Changed 'strlen' to use ZEND_FUNCTION(strlen)
- Removed duplicated arginfo structs
2008-11-17 22:21:55 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
96ab6ace7c - MFH: Fixed strlen function entry (missing arginfo struct size, thanks Philip!) 2008-11-16 00:45:03 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Ilia Alshanetsky
8a106deb24 Revert define() fix, it needs further review 2008-10-22 23:28:34 +00:00
Ilia Alshanetsky
e2bee4923b Fixed bug #46341 (Added missing validation checks into define() for class
constants)
2008-10-19 18:07:37 +00:00
Felipe Pena
317b48f3af MFH:
- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)
- Added some tests
2008-08-22 00:59:39 +00:00
Felipe Pena
9c787d8c97 - MFH: Fixed bug #45743 (property_exists fails to find static protected member in child class) 2008-08-18 17:44:02 +00:00
Felipe Pena
e304515ddb - MFH: Added parameter TSRMLS_DC in zend_is_callable() 2008-08-02 04:46:07 +00:00
Moriyoshi Koizumi
1f845199f7 - MFH: Suppress signedness warnings 2008-07-24 20:44:15 +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
Hannes Magnusson
d619b57efa MFH: Add E_USER_DEPRECATED (patch by Lars Strojny) 2008-07-21 09:41:00 +00:00
Felipe Pena
73d93df417 - Fixed arginfo 2008-07-06 01:57:39 +00:00
Felipe Pena
816e66a85a - Added arginfo
- Removed #include "zend_arg_defs.c"
2008-07-05 23:30:22 +00:00
Antony Dovgal
22b86e5d80 MFH 2008-07-01 07:23:00 +00:00
Felipe Pena
d8bc2719d7 - Removed E_DEPRECATED on is_a()
(http://marc.info/?l=php-internals&m=121390431523970&w=2)
[doc]
2008-06-25 22:35:31 +00:00
Dmitry Stogov
8b8f3599ad Fixed #45307 (define() crashes because of uninitialized variable) 2008-06-19 11:27:41 +00:00
Stanislav Malyshev
58a673a909 Use new parameter parsing API for builtin functions 2008-06-18 23:38:37 +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
Dmitry Stogov
2ecf4bb0a7 Lazy EG(active_symbol_table) initialization 2008-04-29 08:15:20 +00:00
Felipe Pena
cc2b17d51d MFH: Added new macro for check void parameters.
(deprecating ZEND_WRONG_PARAM_COUNT for this cases)
2008-03-10 22:02:41 +00:00
Marcus Boerger
d3e5026564 - MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
[DOC] Finally added deprecation messages
2008-02-23 17:06:22 +00:00
Dmitry Stogov
18cc21c662 Fixed bug #43483 (get_class_methods() does not list all visible methods) 2008-02-21 15:14:27 +00:00
Dmitry Stogov
cb714158af Fixed memory leaks 2008-02-19 16:39:18 +00:00
Dmitry Stogov
d90ebc65a6 Fixed comilation warnings 2008-01-24 18:07:45 +00:00
Dmitry Stogov
0b6825102d Changed EG(argument_stack) implementation. 2008-01-24 09:41:39 +00:00
Dmitry Stogov
71592cec06 Added garbage collector 2008-01-22 09:27:48 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
648fbe9d58 Fixed bug #43128 (Very long class name causes segfault) 2007-11-22 13:27:13 +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
Dmitry Stogov
eb0c56ada1 Fixed bug #42820 (defined() on constant with namespace prefixes tries to load class). 2007-10-03 10:33:02 +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
Sebastian Bergmann
d0d1e42c75 Add optional parameter to debug_backtrace(). 2007-08-30 07:43:21 +00:00
Dmitry Stogov
1aab36e3f2 Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the same way as "instanceof" operator). 2007-08-22 13:19:48 +00:00
Dmitry Stogov
ef71664817 Fixed bug #42211 (property_exists() fails to find protected properties from a parent class) 2007-08-08 13:32:46 +00:00
Antony Dovgal
48d5519378 MFH: int -> zend_bool 2007-08-02 20:32:44 +00:00
Johannes Schlüter
c0667eeaff - MFH: Respect value of the parameter for get_loaded_extensions() and only
print zend extensions if set to true
2007-08-02 16:54:44 +00:00
Johannes Schlüter
ebaba40774 - MFH: Add additional param to get_loaded_extensions() for returning Zend
extensions (Fixes #41278) [DOC]
2007-07-31 22:47:25 +00:00
Dmitry Stogov
7ec48cb37f Fixed bug #40757 (get_object_vars get nothing in child class)
Fixed bug #41929 (Foreach on object does not iterate over all visible properties)
2007-07-24 11:39:56 +00:00
Johannes Schlüter
1351bc4e86 Fix #41640 (get_class_vars produces error on class constants) 2007-06-09 08:38:44 +00:00
Dmitry Stogov
e1814f0dbe WIN64 support 2007-04-16 08:09:56 +00:00
Marcus Boerger
50ea26760d - Avoid sprintf, even when checked copy'n'paste or changes lead to errors 2007-02-24 02:17:47 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
d040ec9b8e MFH 2006-12-20 23:19:56 +00:00
Antony Dovgal
ea013f92e9 use Z_* macros 2006-12-20 16:00:11 +00:00
Antony Dovgal
0966666256 MFH: resolve coverity issue #224 2006-11-28 21:20:33 +00:00
Antony Dovgal
eb666b725f MFH: fix proto 2006-11-21 10:48:29 +00:00
Dmitry Stogov
3f92ab719f typo 2006-11-15 17:53:27 +00:00
Dmitry Stogov
842b1b5a47 Fixed bug #39445 (Calling debug_backtrace() in the __toString() function produces a crash) 2006-11-15 16:05:11 +00:00
Dmitry Stogov
a04b6ed6bc Fixed bug #38942 (Double old-style-ctor inheritance) 2006-09-26 07:55:21 +00:00
Dmitry Stogov
ee97ffd887 Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from inside error handler) 2006-07-27 08:20:38 +00:00
Marcus Boerger
519ed8e13b - Better fix for #34505 and related, drop zend_unmangle_property_name_ex() 2006-07-24 17:58:32 +00:00
Antony Dovgal
926961192f MFH 2006-07-20 07:30:22 +00:00
Marcus Boerger
dd5cbcd24c - Fixed Bug #37811 define not using toString on objects 2006-07-09 22:45:11 +00:00
Antony Dovgal
badf27fb2a MFH: no need to throw E_ERROR here 2006-06-27 19:58:43 +00:00
Dmitry Stogov
8df40bdb31 Keeping consistent arg_stack during arguments freeing (Exception from destructor may use inconsistent arg_stack for backtrace). 2006-05-31 13:01:57 +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
Antony Dovgal
e25a1dccac fix #36944 (strncmp & strncasecmp do not return false on negative string length) 2006-04-05 11:36:13 +00:00
Antony Dovgal
cfbcb43d63 fix #36897 (debug_print_backtrace() doesn't return void but array(0) {}) 2006-03-28 19:43:21 +00:00
Dmitry Stogov
b32a78c4fa Remove "called at [(null):0]" from debug backtrace 2006-03-03 10:09:21 +00:00
Andrei Zmievski
da30791861 MFH. 2006-02-07 00:33:13 +00:00
Andi Gutmans
61e93ccfe8 - Update copyright notices to 2006 2006-01-04 23:53:05 +00:00
Dmitry Stogov
8768ab94b3 Fixed bug #34729 (Crash in ZTS mode under Apache) 2005-12-01 11:48:17 +00:00
Sebastian Bergmann
f5117c81b3 MFH: Add an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. 2005-11-24 05:07:28 +00:00
Antony Dovgal
f43767b249 fix #34505 (possible memory corruption when unmangling properties with empty names)
1st part
2005-09-16 17:05:09 +00:00
Dmitry Stogov
9305339d94 Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload(). 2005-09-09 06:48:49 +00:00
Dmitry Stogov
248345d920 Support for class constants and static members for internal classes 2005-09-01 10:05:32 +00:00
Stanislav Malyshev
33df597531 fix crash if throw attempted outside of executable code 2005-08-22 13:26:33 +00:00
Antony Dovgal
4e798f6e02 MFH: fix memleak 2005-08-18 15:13:45 +00:00
foobar
916815b779 Bump up the year 2005-08-03 13:30:58 +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
Dmitry Stogov
0e720a8b42 Fixed wrong include/requre occurrences in debug backtrace. 2005-06-27 06:03:10 +00:00
Dmitry Stogov
f3f97394b2 Fixed bug #28377 (debug_backtrace is intermittently passing args) 2005-06-23 12:00:13 +00:00
Dmitry Stogov
f17f5da8af Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden methods) 2005-06-23 09:23:24 +00:00
Dmitry Stogov
da2ab06111 Fixed bug #29896 (Backtrace argument list out of sync) 2005-06-22 15:26:05 +00:00
Dmitry Stogov
fac2718edd Fixed memory leak in debug_print_backtrace() 2005-06-07 13:14:23 +00:00
Dmitry Stogov
81b536f4a6 Fixed bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
Now get_class_methods() shows accessible private and protected methods if it is called from class scope.
2005-05-03 08:52:04 +00:00
Marcus Boerger
56d543c161 - Extend API to support real existance test without the need to add any new
functions or change any behavior
2005-05-02 16:18:02 +00:00
Dmitry Stogov
4f15b20b92 Fixed bug #32429 (method_exists() always return TRUE if __call method exists) 2005-04-26 08:47:31 +00:00
Dmitry Stogov
4e04b5b5fb Fixed memory leak in debug_backtrace() 2005-04-18 07:25:20 +00:00
Marcus Boerger
7aad424332 - Fix special cases of property_exists() 2005-04-17 20:16:14 +00:00
Sara Golemon
083795cbbf Fix method_exists(), pce is fetched, but ce is used 2005-04-16 15:24:56 +00:00
Marcus Boerger
5b21e48557 - Fix even though we already know that the function will be renamed 2005-04-15 18:53:42 +00:00
Marcus Boerger
32182b190a - Add property_exits() 2005-04-08 13:33:15 +00:00
Stanislav Malyshev
95f860d025 MF50: fix backtraces - non-Zend classes have names too 2005-04-04 17:23:38 +00:00
Stanislav Malyshev
7b6ec9178f ws 2005-03-14 09:21:04 +00:00
Stanislav Malyshev
c3957fe1e8 Fix get_extension_funcs() - extension names are now lowercased, so should
be function arguments.
2005-03-13 15:30:10 +00:00
Marcus Boerger
6f00c1b73b - Fix #32226 2005-03-07 19:28:10 +00:00
Marcus Boerger
ddd62f2b07 - Add support for methods dynamically added through object handlers 2005-02-28 18:53:33 +00:00
Marcus Boerger
8324d21955 - Update method_exists to new handlers and allow first parameter as string 2005-02-27 15:03:09 +00:00
Stanislav Malyshev
1088e28dfa Fix debug_trace with eval (patch from Antony Dovgal) 2005-02-01 19:05:56 +00:00
Zeev Suraski
6b1f070907 MFB 2004-12-27 18:53:27 +00:00
Andi Gutmans
6a16f3eb1d - Patch from Andrey Hristov:
I have cooked a small patch which allows is_subclass_of() the accept
not only an object as first parameter but a string as well. When string
is passed the function checks whether the class specified is subclass of
the second parameter
class a{}
class b{} extends a{}
is_subclass_of("a", "a") //false
is_subclass_of("b", "a") //true
currently only objects are allowed as first parameter
2004-10-26 23:25:05 +00:00
Marcus Boerger
b52ab41ca7 - Allow to omit object/classname in get_parent_class() which makes it
compatible with the signature and behavior of get_class()
2004-10-14 07:26:04 +00:00
Marcus Boerger
0c40e2a06e Bug #30381 Strange results with get_class_vars() 2004-10-12 22:19:43 +00:00
Marcus Boerger
a4c387508e - Fix visibility in get_class_vars() and get_class_methods()
# Still there is a problem/error in the executor, i'll have a look
2004-10-12 11:01:08 +00:00
Marcus Boerger
0f9b3de234 - Fix set_exception_handler
# unsettign with '' never worked so we use NULL now which is much better
# because it matches the the return NULL in case no handler was defined
# and can't lead to problems with wrong string operations.
2004-10-12 09:13:20 +00:00
Marcus Boerger
4b395a168b - Bugfix #27798 2004-10-04 08:59:29 +00:00
Marcus Boerger
4bcd155285 - Fix warnings 2004-09-27 08:43:05 +00:00
Andi Gutmans
96ab56e146 - Roll back VM commit 2004-09-09 16:47:22 +00:00
Andi Gutmans
2e286e7374 - Fix bug #28054 by preventing printing out bogus information in backtrace
when in error handler (still doesn't know all information but at least
  it's not bogus)
2004-09-08 23:46:37 +00:00
Andi Gutmans
709c5bd2d5 - Add interface_exists() and differentiate between classes and interfaces
(Andrey Hristov)
2004-08-25 00:41:43 +00:00
Ilia Alshanetsky
b1c45f61ad Eliminate unneeded variable. 2004-08-05 00:44:30 +00:00
Marcus Boerger
7bfc91c3a9 - Fixed Bug #29505 get_class_vars() severely broken when used with arrays 2004-08-03 16:59:25 +00:00
Wez Furlong
03e298ec47 Fix two possible crashes. Latter is unlikely unless you are doing scary
things, but former looks nasty.
2004-07-27 01:33:25 +00:00
Edin Kadribasic
d42361630f Fixed build 2004-07-21 22:13:31 +00:00
Marcus Boerger
08fa8849b2 - Fixded #29291: get_class_vars() return names with NULLs 2004-07-21 18:36:51 +00:00
George Schlossnagle
6d182a8456 fix for 28213.
class_name and call_type should be reinitialized on every loop iter.
2004-06-18 17:34:58 +00:00
Sara Golemon
96a8b63865 String length in parse_parameters should be int 2004-06-17 18:23:47 +00:00
Derick Rethans
877ecb3c81 - Make the default mask for user defined error handlers include ALL errors,
including E_STRICT.
2004-05-28 08:08:56 +00:00
Andi Gutmans
ef9878647d - Fix the following script (it crashed):
<?php
   class ErrorHandler {
     function __construct() {
       set_error_handler(array(&$this, 'handle'));
     }

     function __destruct() {
       restore_error_handler();
     }

     function handle($code, $msg, $file, $line, $locals) {
     }
   }

   new ErrorHandler();
?>
2004-05-23 20:27:32 +00:00
Marcus Boerger
953a09969f - Optional parameter to class_exists() that can be used to bypass
__autoload() which can be helpfull in __autoload() itself.
2004-04-27 18:09:40 +00:00
Marcus Boerger
5fff6fa361 Skip correct amount of stack entries 2004-04-25 11:28:46 +00:00
Zeev Suraski
2310acb57a Fix debug_backtrace to show arguments again
We need to merge code from debug_backtrace & debug_print_backtrace at
some point!
2004-04-13 16:07:19 +00:00
Andi Gutmans
c534a9e782 - Hopefully fix the debug_backtrace() code. 2004-04-07 15:29:09 +00:00
Andi Gutmans
7264ffe50d - Fix crash bug in zend_debug_backtrace(). No idea how come this survived
- for so long....
2004-04-07 14:02:29 +00:00
Andi Gutmans
8838b38fcb Patch by Timm Friebe:
It changes
set_exception_handler() to accept the pseudo-type "callable" (instead of
a string referring to a global function).


Examples:
  set_exception_handler('function_name');
  set_exception_handler(array('class_name', 'static_method'));
  set_exception_handler(array($instance, 'instance_method'));


This also makes set_exception_handler() more consistent with all the
other callback functionality, e.g. set_error_handler().
2004-04-03 21:50:12 +00:00
Ilia Alshanetsky
c85843aec1 MFB: Revert patch for bug #27782. 2004-04-01 22:07:42 +00:00
Ilia Alshanetsky
ec4655f864 Fixed bug #27782 (Wrong behaviour of next(), prev() and each()). 2004-03-30 19:08:43 +00:00
Marcus Boerger
afe794c0d6 Allow mixed case search for extensions 2004-03-29 18:48:59 +00:00
Marcus Boerger
4efbb35067 Make object parameter optional 2004-03-14 22:40:25 +00:00
Andi Gutmans
47cb3323a8 - Fixing bug #27123 2004-03-14 17:16:31 +00:00
Derick Rethans
a84efbe923 - Fixed bug #27443 (defined() returns wrong type). 2004-03-01 08:07:25 +00:00
foobar
b87a245207 ws + cs 2004-02-25 21:06:59 +00:00
Zeev Suraski
a72c1ab93b Added error mask to set_error_handler()
Patch by Christian Schneider <cschneid@cschneid.com>
2004-01-10 11:43:42 +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
Derick Rethans
03f8baa87e - Make it compile again 2003-12-08 13:26:03 +00:00
Stanislav Malyshev
dc6a849a2f Apply Andrey Hristov's patch adding get_declared_interfaces() 2003-12-07 18:54:31 +00:00
Andi Gutmans
709060e161 - Nuke property_exists(). We need to fix isset() and this is already
- supported in reflection API. In any case, it's best not to add new
- functions in the general namespace except for keeping engine consistency
(which would have been true in this case)
2003-12-01 11:53:42 +00:00
Marcus Boerger
3be27ecc78 Add a support function to check for property existance which is different
from checking a property from being empty/set.
Update test #26182.
2003-11-27 17:06:26 +00:00
Andi Gutmans
d344648b07 - Fix __autoload() to preserve class case.
- Heads up, this patch might break stuff so please let me know if you
- bump into any problems.
2003-11-24 18:13:29 +00:00
Andi Gutmans
c0df450203 - Add E_STRICT, to be used to warn purists (like Jani :) 2003-11-18 09:25:04 +00:00
Marcus Boerger
7cc93e121b Bugfix #26010 (Bug on get_object_vars() function) 2003-11-10 21:03:04 +00:00
Marcus Boerger
e912635f82 Removedouble efree call 2003-11-04 22:01:37 +00:00
Marcus Boerger
3efe102a48 Nuke vars no longer needed 2003-09-18 17:13:59 +00:00
Marcus Boerger
7b3e84871e Go with studlyCaps 2003-09-18 16:20:42 +00:00
Zeev Suraski
f1b80b9210 Attempt at fixing the linkage problem in Win32 2003-08-31 12:38:50 +00:00
Marcus Boerger
bdd2d4aacf Need to tell zend_fetch_debug_backtrace() whether to skip top function or not.
# And i wondered why the trace wasn't rally accurate.
2003-08-29 00:16:00 +00:00
Marcus Boerger
8d3620aea8 - Split debug_backtrace() into lowlevel c function and php function wrapper
- Add trace property to default method based on new zend_fetch_debug_backtrace
# Unforunatley the handler for uncaught exception can't show this backtrace
# simply because there is currently no way to do it. If i can think of a
# solution i'll add it. Until them i am open to any ideas/help.
2003-08-28 20:35:54 +00:00
Sascha Schumann
2e36578cfd Add format attribute to a number of functions
Kill a few warnings
2003-08-28 16:41:20 +00:00