Commit Graph

2863 Commits

Author SHA1 Message Date
Marcus Boerger
744dd20520 Fix warnings 2003-08-17 19:14:30 +00:00
Marcus Boerger
717b5afe1d Fix warnings 2003-08-17 18:56:54 +00:00
Sascha Schumann
602d1b0045 One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Sascha Schumann
c7d9be97ca explicitly cast size_t to zend_uint to avoid warnings on 64 bit platforms. 2003-08-17 13:45:51 +00:00
Marcus Boerger
6dbc0bdc35 Remove unnecessary if 2003-08-17 12:38:27 +00:00
Marcus Boerger
1e17ebe047 Put the code where it belongs - fixes a warning and confusion 2003-08-17 12:27:33 +00:00
Marcus Boerger
9c68f33b51 Implement a TBD: JMP to the end of foreach 2003-08-17 12:17:34 +00:00
Marcus Boerger
f2d4e4ca48 WS 2003-08-17 12:16:10 +00:00
Marcus Boerger
82050ae8bc - Show class names in error messages when dealing with methods
- Mark class as abstract if it gets an abstract method
2003-08-17 00:57:35 +00:00
eca2582760 ChangeLog update 2003-08-17 00:31:43 +00:00
Marcus Boerger
fe1a086d19 Simplify abstract method declaration 2003-08-16 20:46:22 +00:00
Marcus Boerger
7a12eb8a2d WS 2003-08-16 20:12:01 +00:00
beb51466d5 ChangeLog update 2003-08-16 00:31:07 +00:00
Sascha Schumann
b29b4441db Restrict scope of inline functions to compile unit
Submitted by: Jason Greene <jason@inetgurus.net>
2003-08-15 21:02:35 +00:00
5eb3bb00db ChangeLog update 2003-08-14 00:31:18 +00:00
31a0a30d9d ChangeLog update 2003-08-13 23:27:30 +00:00
ea2632506d ChangeLog update 2003-08-13 23:27:28 +00:00
808e49fea0 ChangeLog update 2003-08-13 23:24:59 +00:00
4713ec290a ChangeLog update 2003-08-13 23:20:59 +00:00
Marcus Boerger
ca9c03b504 Add missing entry 2003-08-13 07:17:16 +00:00
Marcus Boerger
e08aedf5ff - Show classes in case of methods
- Using sprintf here was a bad idea
2003-08-13 07:02:44 +00:00
e58a46c2ae ChangeLog update 2003-08-13 00:30:30 +00:00
Zeev Suraski
d2971e506c Remove bogus patch - the number of elements is unrelated 2003-08-12 06:21:02 +00:00
dc36db0715 ChangeLog update 2003-08-12 00:30:27 +00:00
Marcus Boerger
f77f977d0e Bugfix 21918 2003-08-11 20:14:25 +00:00
Masaki Fujimoto
ab9dcec292 - added script encoding support to Zend Engine 2.
this enables ZE2 to gracefully parse scripts written in UTF-8 (with BOM),
  UTF-16, UTF-32, Shift_JIS, ISO-2022-JP etc... (when configured with
  '--enable-zend-multibyte' and '--enable-mbstring')
2003-08-11 05:24:42 +00:00
ad29f2f006 ChangeLog update 2003-08-11 00:30:22 +00:00
Marcus Boerger
2bbf4ad261 Bugfix #24637 __destruct not called 2003-08-10 23:59:35 +00:00
ae4b25fe88 ChangeLog update 2003-08-10 00:30:29 +00:00
Moriyoshi Koizumi
fe489dcb4f Fix segfault when a referenced parameter is specified with typehint.
Result of the node will never be used because verify_instanceof handler has
been eliminated.
2003-08-09 19:29:38 +00:00
Marcus Boerger
d4aa155d25 Precise destructor errors 2003-08-09 14:32:33 +00:00
2d8509fe20 ChangeLog update 2003-08-08 00:30:25 +00:00
Moriyoshi Koizumi
35ffd45c26 Add missing right parensis 2003-08-07 19:36:13 +00:00
Zeev Suraski
5b312b571e Clarify use of original_function_state_ptr 2003-08-07 07:37:19 +00:00
Marcus Boerger
e9a4c91ca4 - Fix warnings
- Fix code
2003-08-07 07:17:34 +00:00
0f94f538ff ChangeLog update 2003-08-07 00:30:30 +00:00
Zeev Suraski
0a83ebfd56 clarify :) 2003-08-06 07:38:56 +00:00
26b85413ea ChangeLog update 2003-08-06 00:30:27 +00:00
foobar
cc011660e7 Fix the build 2003-08-05 23:50:59 +00:00
Zeev Suraski
92b4013e8d Try to put an end to the endless number of call_user_function variants.
zend_call_function() now takes a structure that should contain all of the
necessary information.  If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.

As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any).  Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.


The recently introduced fast_call_user_function() was removed

I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Stanislav Malyshev
8547de3f16 fix syntax 2003-08-05 08:03:26 +00:00
Stanislav Malyshev
f572897dea remove stack clean - it makes trouble 2003-08-05 07:56:49 +00:00
abd7612009 ChangeLog update 2003-08-05 00:30:17 +00:00
Marcus Boerger
de32c1de56 Fix ZTS 2003-08-04 19:57:53 +00:00
Marcus Boerger
65557ef672 Nuke unused variables 2003-08-04 19:56:12 +00:00
Marcus Boerger
3597704c64 Add function/method parameter reflection 2003-08-04 19:37:08 +00:00
Ilia Alshanetsky
1007b0a826 Fixed bug #23104 (hash position of static arrays not being reset) 2003-08-04 17:10:52 +00:00
Stanislav Malyshev
2884e8a715 oops. forgot function 2003-08-04 11:03:38 +00:00
Stanislav Malyshev
7cb1730293 fix crash #24842 2003-08-04 11:02:53 +00:00
Stanislav Malyshev
b6ff804cfe fix leaks: bug #24831 2003-08-04 10:40:05 +00:00
Stanislav Malyshev
a3dc90d8d0 use get_obj_zval_ptr 2003-08-04 10:30:42 +00:00
Stanislav Malyshev
3586a6a43b add test 2003-08-04 09:31:58 +00:00
Stanislav Malyshev
4d51526350 Fix #24884 - clone $this 2003-08-04 09:10:52 +00:00
Zeev Suraski
1959133fb3 Simplify code using XOR 2003-08-04 07:53:09 +00:00
Zeev Suraski
fe9b5870af Add logical XOR, proves to be quite useful lately 2003-08-04 07:52:36 +00:00
Zeev Suraski
6f53e48bb9 This check shouldn't be necessary 2003-08-04 07:52:09 +00:00
f1d8c1c448 ChangeLog update 2003-08-04 00:30:32 +00:00
Marcus Boerger
1f8fd69e78 Fix crash 2003-08-03 22:28:14 +00:00
Marcus Boerger
538aad24e3 Fix test and add missing initialization 2003-08-03 22:03:52 +00:00
Zeev Suraski
ef5a79bfed Ensure functions have a valid access level 2003-08-03 21:06:23 +00:00
Zeev Suraski
e3f4147931 Default to public 2003-08-03 21:04:39 +00:00
Marcus Boerger
8c614ddda4 Not needed, will be copied from ptr->flags later 2003-08-03 20:49:27 +00:00
Marcus Boerger
bdf84d4e12 Add missing arg info 2003-08-03 19:25:03 +00:00
Moriyoshi Koizumi
fb6300dd6c Style & WS fixes 2003-08-03 19:20:45 +00:00
Zeev Suraski
f8bbafd604 ntroduce infrastructure for supplying information about arguments,
including:

- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance

Both user and builtin functions share the same data structures.

To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:

ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
    ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
    ZEND_ARG_PASS_INFO(0)
    ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();

and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.

The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.

The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
Zeev Suraski
7112d3a3f8 No need for this initialization - this function initializes all of the
elements of zend_internal_function
2003-08-03 10:32:40 +00:00
Zeev Suraski
8b4bd4a8ec Clean up. extended_value can only contain either ZEND_UNSET_DIM or
ZEND_UNSET_OBJ.
2003-08-03 08:23:25 +00:00
Zeev Suraski
9d7122fb53 Generalize fetch_class 2003-08-03 08:21:08 +00:00
973b85672b ChangeLog update 2003-08-03 00:30:27 +00:00
Marcus Boerger
4f1e331c4d Initialize all struct members: Necessary for reflection 2003-08-02 19:03:14 +00:00
Marcus Boerger
04c90c8738 Show interfaces 2003-08-02 14:22:18 +00:00
Wez Furlong
0b6f7bddf4 fix usage of instanceof here too 2003-08-02 11:43:55 +00:00
Marcus Boerger
4fa6eac1f8 Fix warning 2003-08-02 11:39:15 +00:00
be9986eb8e ChangeLog update 2003-08-02 00:30:27 +00:00
Wez Furlong
5c4de2664c better fix... 2003-08-01 17:51:56 +00:00
Wez Furlong
ad12b3da82 Fix "O" format for zend_parse_parameters 2003-08-01 16:48:11 +00:00
6e49dd99c8 ChangeLog update 2003-08-01 00:30:42 +00:00
Zeev Suraski
4f6b315211 Use instanceof_function() 2003-07-31 16:30:15 +00:00
Zeev Suraski
accd6b623b Finish the array overloading patch 2003-07-31 09:06:11 +00:00
Zeev Suraski
d95a6916de Cleanup 2003-07-31 08:24:55 +00:00
Andi Gutmans
7055fda013 - Fix logic. It was the wrong way around. 2003-07-31 05:08:59 +00:00
8d75e7082d ChangeLog update 2003-07-31 00:30:27 +00:00
Andi Gutmans
8264eedc48 - Fix problem with hash when updating same bucket with data of different
sizes one after another.
- Fix number of arguments to read_dimension.
2003-07-30 19:47:39 +00:00
Zeev Suraski
68fa4e50f8 Get rid of an opcode 2003-07-30 17:49:27 +00:00
Zeev Suraski
f41f62c2ff Support overloading of $foo["bar"] += "baz" 2003-07-30 17:40:54 +00:00
Zeev Suraski
c0b46739ca Improve array overloading - support unset($foo["bar"]) 2003-07-30 17:12:06 +00:00
Zeev Suraski
4839ce5952 Remove garbage 2003-07-30 17:02:41 +00:00
Zeev Suraski
2fd4ffce17 Add exec_finished() callback for modules - this is the last place where the
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
815be4e5c6 ChangeLog update 2003-07-30 00:30:26 +00:00
Ilia Alshanetsky
7b18132dba Test case for bug #22836. 2003-07-29 17:56:50 +00:00
foobar
c50fbaf69a Remove the obfuscation caused by the double "#ifdef ZTS" 2003-07-29 01:30:59 +00:00
8aef486417 ChangeLog update 2003-07-28 00:30:27 +00:00
Stanislav Malyshev
57b12285de fix compare 2003-07-27 16:43:05 +00:00
Stanislav Malyshev
7b1bbc85bc use zend_binary_strncasecmp 2003-07-27 16:39:35 +00:00
Stanislav Malyshev
47fef22bc5 change shutdown order so that dtors would coexist with object error handlers 2003-07-27 15:59:37 +00:00
Stanislav Malyshev
1cc89effdb clean the right one 2003-07-27 14:02:46 +00:00
Stanislav Malyshev
5bfd386bc3 make shutdown more granular so in case some dtor goes ape we still
can shut down cleanly
2003-07-27 13:47:58 +00:00
Stanislav Malyshev
9fa2d52310 make clone and throw coexist peacefully 2003-07-27 13:20:31 +00:00
Stanislav Malyshev
6bea4ca1b0 add test 2003-07-27 12:50:56 +00:00
Stanislav Malyshev
c3c136ea4b fix #24635: clean hash before putting into cache 2003-07-27 12:46:14 +00:00
Stanislav Malyshev
399db3c846 fix crash #24550 2003-07-27 12:25:50 +00:00
Stanislav Malyshev
91b4bca976 add test 2003-07-27 12:07:23 +00:00
Stanislav Malyshev
5724c7a66c fix leaks with class constants (bug #24699) 2003-07-27 12:03:54 +00:00
Stanislav Malyshev
78f8ca6e55 make __clone call case insensitive, just as other calls are 2003-07-27 11:42:21 +00:00
29df7213cb ChangeLog update 2003-07-25 00:30:31 +00:00
foobar
e03b0dea7d cleanup (CS+ws) 2003-07-24 17:07:40 +00:00
Zeev Suraski
0e0936fa59 Fix expectations :) 2003-07-24 17:00:17 +00:00
Zeev Suraski
b54ae17904 Fix logic and comments in ASSIGN_DIM 2003-07-24 16:51:35 +00:00
Zeev Suraski
55097d1dcf Fix another HANDLE_NUMERIC bug. Looks like you opened Pandora's box, Sterling ;) 2003-07-24 13:14:57 +00:00
Zeev Suraski
2109ab3438 Fix each() binary safety for keys 2003-07-24 13:06:25 +00:00
Zeev Suraski
0610515703 Fix assignments to numeric array indices 2003-07-24 12:56:05 +00:00
Zeev Suraski
7928e763d2 Remove useless code 2003-07-24 12:51:07 +00:00
Zeev Suraski
03b6af07eb Support references in foreach()
Syntax:
  foreach ($arr as &$val)
  foreach ($arr as $key => &$val)
2003-07-24 12:38:33 +00:00
Zeev Suraski
e25d5e7f7a Fix binary safety in foreach() keys (fixes bug #24783) 2003-07-24 08:36:39 +00:00
Zeev Suraski
9b13202723 Make print_r() binary safe with keys 2003-07-24 08:24:07 +00:00
005fc4eddd ChangeLog update 2003-07-24 00:30:26 +00:00
Stanislav Malyshev
237116aa27 Remove namespace leftovers 2003-07-23 08:58:46 +00:00
Zeev Suraski
e89977f9d9 Go back to ZE1-like code 2003-07-23 08:56:34 +00:00
Sebastian Bergmann
786afb48cb Fix segfault. Patch by Timm Friebe <thekid@thekid.de>. 2003-07-23 04:02:26 +00:00
a480901c9f ChangeLog update 2003-07-23 00:30:29 +00:00
Marcus Boerger
6079d4dc1b Fix for the moment 2003-07-22 20:53:56 +00:00
Zeev Suraski
cf90932a05 Improve infrastructure of numeric handling of elements in symbol tables.
When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
2003-07-22 16:06:07 +00:00
Zeev Suraski
6a50660cfe Fix isset()/empty() for non-trivial object elements
(API change - read_property now accepts an extra element)
Fixes bug #24436
2003-07-22 13:49:33 +00:00
3437e2ef41 ChangeLog update 2003-07-22 00:30:54 +00:00
Zeev Suraski
7e72d8e826 Fix bug #24499 2003-07-21 12:13:16 +00:00
Zeev Suraski
754529920d Revert fix for #24729, and refix 2003-07-21 07:42:15 +00:00
Marcus Boerger
98963e3c75 Go with a better fix for #24729 2003-07-21 07:13:26 +00:00
George Schlossnagle
0229aad042 reverted at Andi's request. replaced with more generic wrapper. 2003-07-21 06:05:58 +00:00
ada5008f9a ChangeLog update 2003-07-21 00:30:29 +00:00
Marcus Boerger
8ac334289a Bugfix #24729 = new ; causes crash when is not set 2003-07-20 20:45:59 +00:00
George Schlossnagle
600f72f7b4 should nt here 2003-07-20 20:16:07 +00:00
Marcus Boerger
cfe2eda4f6 Fix warnings and whitespace in output 2003-07-20 19:57:02 +00:00
Marcus Boerger
23da3057b9 Add support for instances in Reflection_Class.
# Thanks to Timm for the fast patch contained reply to my help request :-)))
2003-07-20 18:58:34 +00:00
George Schlossnagle
7c7de5eb3c removed references to smart_str, replaced with private string management
function.  When snprintf is integrated into the engine, string_printf
should be altered to use that.
2003-07-20 18:45:40 +00:00
Marcus Boerger
c9c1fcc026 More informative errors here and these are real core errors 2003-07-20 17:50:23 +00:00
Marcus Boerger
7bbe6080f2 Fix uncloneable objetcs 2003-07-20 17:46:21 +00:00
George Schlossnagle
84f5e4870e more of Timm's implementation. 2003-07-20 15:42:42 +00:00
Marcus Boerger
184118d9a9 Make it a macro 2003-07-20 12:23:46 +00:00
01d8fea855 ChangeLog update 2003-07-20 00:30:10 +00:00
Marcus Boerger
9556c6c27e This is meant to be used in for(;has_more;next)
# Probably the name of such functions should be eol (End-Of-List).
2003-07-19 20:04:51 +00:00
Marcus Boerger
892c1fbbe7 Add missing function to ease implementations 2003-07-19 14:19:04 +00:00
foobar
aad797691b Fix the HPUX alloca fix as suggested by Sascha 2003-07-19 13:10:24 +00:00
Marcus Boerger
7cdc2d1f39 Shuffle code to ease writing clone handlers 2003-07-19 09:47:00 +00:00
Andi Gutmans
99d0a5c86e - Don't use alloca on HP-UX (Moriyoshi Koizumi <moriyoshi@at.wakwak.com>) 2003-07-19 07:19:21 +00:00
e4625963aa ChangeLog update 2003-07-17 00:30:28 +00:00
Zeev Suraski
e10dbc607c Fix bug in the verification of interface-function implementation 2003-07-16 09:13:47 +00:00
Zeev Suraski
3a898f6d4e More cleanup for assign-op handling of objects 2003-07-16 08:57:08 +00:00
Zeev Suraski
1c385fc742 Fix warning 2003-07-16 08:48:22 +00:00
ed9c700d9b ChangeLog update 2003-07-13 00:30:23 +00:00
Andi Gutmans
af1254e458 - WS 2003-07-12 14:54:53 +00:00