Marcus Boerger
046859493e
Fix (string) conversion
2003-12-29 22:01:47 +00:00
Marcus Boerger
1dec2d85d6
Fix warning
2003-12-25 20:08:22 +00:00
Marcus Boerger
d28d247c4a
Fix warning
2003-12-25 19:59:38 +00:00
Dmitry Stogov
5adf502a69
Error reporting on unset string offset was added (Bug #24773 Zend/tests/bug24773.phpt)
2003-12-19 11:26:52 +00:00
Dmitry Stogov
25a811da65
Assign_op operators (+=) were fixed for elements of overloaded objects
2003-12-19 11:22:13 +00:00
Andi Gutmans
38beff5c92
- Nuke C++ comment
2003-12-18 23:30:22 +00:00
Andi Gutmans
3546d86052
- Revert patch 1.566
2003-12-18 23:28:15 +00:00
Marcus Boerger
49efcd4f27
Fixed bug #24837 Incorrect behaviour of PPP using foreach.
2003-12-18 20:07:30 +00:00
Zeev Suraski
24298e523f
This part of the if was necessary after all.
...
Refix bug #22510
2003-12-17 17:06:34 +00:00
foobar
a1a69ae16b
ws + cs (no c++ comments in c code)
2003-12-15 13:20:53 +00:00
Dmitry Stogov
ceb7c536d5
Bug #24773 was fixed (Zend/tests/bug24773.phpt)
...
Assign_op operators (+=) were fixed for elements of overloaded objects
Memory leaks during accessing ptoperies/elements of overloaded objects were fixed
2003-12-15 07:22:09 +00:00
Zeev Suraski
3a42babad6
Fix behavior of return-by-reference functions. Remove erroneous warnings,
...
add E_STRICT warnings in case you return something by reference that you're
not supposed to (anything that's not a variable, or a return-value of a
function that returned by reference).
2003-12-14 16:09:07 +00:00
Zeev Suraski
e94e3e1775
Some cleanup
2003-12-14 12:32:02 +00:00
Andi Gutmans
5ba810ee46
- Refix bug #24773
2003-12-11 10:21:16 +00:00
Marcus Boerger
b8afd8343a
read_dimension() handler might return 0, handle this.
2003-12-11 09:52:33 +00:00
Andi Gutmans
f4d6a5c7cf
- Remove two unneeded convert_to_string() (found by Marcus)
...
- Change illegal use of string offset to E_ERROR
2003-12-05 16:28:54 +00:00
Moriyoshi Koizumi
4a38020ddd
Revert crap.
2003-12-04 17:38:21 +00:00
Moriyoshi Koizumi
bcbc036ac1
Raise error in case dereference is performed on a scalar value.
2003-12-04 13:38:30 +00:00
Moriyoshi Koizumi
5fe26e76eb
This kind of error should be caught. (suggested by Andi, thanks)
2003-12-03 22:08:58 +00:00
Moriyoshi Koizumi
7ac854e710
Fix bug #24773 (unset()ing string offsets crashes PHP)
2003-12-03 19:10:38 +00:00
Derick Rethans
611219208c
- Remove newline from error message
2003-12-03 15:01:04 +00:00
Andi Gutmans
98e1a3dbcb
- Change to E_STRICT so as not to break existing scripts.
...
- Thanks Edin
2003-12-01 12:35:46 +00:00
Ilia Alshanetsky
cf196ac625
Restore original patch for bug #26281 .
...
# Andi if you have a time & interest please see if perhaps a better
# solution can be implemented. Thanks.
2003-11-29 17:33:25 +00:00
Marcus Boerger
4dba05d9cc
Add new interface ArrayAccess to use objects as Arrays
2003-11-24 20:57:54 +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
Ilia Alshanetsky
44a03df926
Cleaner patch for bug #26281 .
2003-11-21 04:45:43 +00:00
Ilia Alshanetsky
fdd902f0dd
Possible fix for bug #26281 & test case.
2003-11-19 00:41:14 +00:00
Marcus Boerger
48d249de46
Fix those warnings
2003-11-10 16:23:12 +00:00
Marcus Boerger
296529b886
Split isset/isempty for object property and object dimension hooking.
2003-11-10 16:14:44 +00:00
Marcus Boerger
5112a4ae24
Update Iterators: Call next at the correct point in time.
2003-11-07 10:47:47 +00:00
Marcus Boerger
f9d13098e7
Prevent some SEGV's when Exceptions are thorown inside iterators.
2003-11-04 22:07:59 +00:00
Marcus Boerger
3c62b3b5ac
Expand Interface C API.
...
In short: zend_class_entry->interface_gets_implemented() allows to modify
the class entry of a class when an interface gets implemented.
2003-10-22 19:59:58 +00:00
Marcus Boerger
25aa8b715e
Added c-api for iterators
...
# After 4 Month work and endless discussions...
2003-10-17 17:19:44 +00:00
Zeev Suraski
2ab30d7133
Allow foo::$bar()
2003-10-09 13:44:44 +00:00
Zeev Suraski
146ba0e875
Fix bug #17997 (Warning when switch & reference are combined)
2003-10-07 16:04:08 +00:00
Zeev Suraski
3f5acc73a5
Remove redundant callback, simplify API
2003-10-05 07:52:28 +00:00
Marcus Boerger
909bd62a43
Show name of missing function as typed
2003-09-17 11:06:11 +00:00
Marcus Boerger
6bf04aff5b
Revert - need to look for a better solution
2003-09-15 21:00:38 +00:00
Marcus Boerger
16a816b92c
Bugfix #25547
2003-09-15 20:20:14 +00:00
Marcus Boerger
cdc5d69ec2
Fix foreach() called with non array
2003-09-07 23:09:30 +00:00
Marcus Boerger
95649ab260
Tests show updating consts must happen once at runtime (revert optimization).
...
Add tests for static properties.
2003-09-04 16:00:01 +00:00
Marcus Boerger
1b39a5aa2c
Fix static properties.
...
#
# There's only an errormessage missing which i'll wommit as soon as i find out
# how to do it best. But besides that damn message everything works now and all
# inheritance rules apply.
#
2003-09-03 16:13:40 +00:00
Marcus Boerger
9702c70a35
Synch/Unify error messages related to function/method calls
2003-09-02 14:08:59 +00:00
Marcus Boerger
fb4a63a07d
Synch error message with other one to fix tests
2003-08-31 11:38:31 +00:00
Marcus Boerger
f1c92fa4c5
- Calling abstract methods should be a error for consistency reason.
...
- So in reflection_api we use the reflection_exception again.
2003-08-30 23:51:42 +00:00
Marcus Boerger
f7f49e4584
- The compiler can't detect all abstract function calls so we need to check.
...
# In this case throwing a dedicated exception is better than the error we
# show when the compiler can detect the abstract call because its run-time.
2003-08-30 11:40:37 +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
Zeev Suraski
0ac5bbd780
Never, ever, overwrite the refcount element of a connected zval!
2003-08-24 15:59:19 +00:00
Marcus Boerger
fbda310a41
- Flag ctor/dtor methods
...
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.
2003-08-23 15:38:58 +00:00
Wez Furlong
1a40feb965
fix build
2003-08-19 01:15:47 +00:00
Zeev Suraski
6ab9c1a336
Prevent access to internal engine functionality
2003-08-18 23:11:58 +00:00
Zeev Suraski
49c4866a47
- Improve tracking
...
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Marcus Boerger
717b5afe1d
Fix warnings
2003-08-17 18:56:54 +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
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
Marcus Boerger
de32c1de56
Fix ZTS
2003-08-04 19:57:53 +00:00
Stanislav Malyshev
a3dc90d8d0
use get_obj_zval_ptr
2003-08-04 10:30:42 +00:00
Stanislav Malyshev
4d51526350
Fix #24884 - clone $this
2003-08-04 09:10:52 +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
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
Marcus Boerger
4fa6eac1f8
Fix warning
2003-08-02 11:39: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
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
Stanislav Malyshev
1cc89effdb
clean the right one
2003-07-27 14:02:46 +00:00
Stanislav Malyshev
9fa2d52310
make clone and throw coexist peacefully
2003-07-27 13:20:31 +00:00
Stanislav Malyshev
c3c136ea4b
fix #24635 : clean hash before putting into cache
2003-07-27 12:46:14 +00:00
Zeev Suraski
b54ae17904
Fix logic and comments in ASSIGN_DIM
2003-07-24 16:51:35 +00:00
Zeev Suraski
0610515703
Fix assignments to numeric array indices
2003-07-24 12:56:05 +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
Stanislav Malyshev
237116aa27
Remove namespace leftovers
2003-07-23 08:58:46 +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
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
Marcus Boerger
8ac334289a
Bugfix #24729 = new ; causes crash when is not set
2003-07-20 20:45:59 +00:00
Marcus Boerger
7bbe6080f2
Fix uncloneable objetcs
2003-07-20 17:46:21 +00:00
Zeev Suraski
3a898f6d4e
More cleanup for assign-op handling of objects
2003-07-16 08:57:08 +00:00
Zeev Suraski
d9fb6b672a
initial refactoring for assign-op handling of objects
2003-07-08 11:52:21 +00:00
Zeev Suraski
3cfa6a68f4
Add get_dim callback
2003-07-07 10:53:27 +00:00
Zeev Suraski
ed97b9fb6e
Fix naming convention
2003-07-07 10:47:25 +00:00
Derick Rethans
d16f0a6333
- Help Zeev fixing ghosts :)
2003-07-07 10:16:05 +00:00
Zeev Suraski
938c0fbc19
Initial support for overloading of array syntax for objects (very initial)
2003-07-07 09:00:36 +00:00
Stanislav Malyshev
8f0234160a
enable Classname() constructor to be called via parent::__constructor()
2003-07-03 12:03:11 +00:00
Zeev Suraski
eb224d4a5f
Throughly fix scoping change. Fixes, among other things, bug #24403
2003-07-02 17:48:18 +00:00
Zeev Suraski
d245c52e0c
Fix for bug #22367 .
...
Heads up - this will break syntactical compatiblity, return($foo) will
not work with functions that return references - return $foo should be used
instead. It never worked well before, and caused all sorts of odd bugs.
It *might* be possible to support this specifically, albeit unlikely
2003-07-02 15:06:10 +00:00
Marcus Boerger
40dd3f4f88
__clone might not be defined
2003-07-01 21:30:21 +00:00
Marcus Boerger
a04cba504f
Fix __clone visibility
2003-07-01 20:02:27 +00:00
Andi Gutmans
288dacca0c
- ZE coding style requires if ( instead of if(
2003-06-30 20:22:35 +00:00
Zeev Suraski
53acb1814e
Semantically it's a refcount increase, not a lock...
2003-06-30 13:51:48 +00:00
Zeev Suraski
6f9d0da2e5
Fix 'global' implementation (fixes, at least, bug #24396
2003-06-30 13:47:12 +00:00
Zeev Suraski
bc4c7c6a6d
Fix crash :)
2003-06-23 22:14:38 +00:00
Stanislav Malyshev
c3fb1eac15
FIx leak
2003-06-23 14:48:59 +00:00