Commit Graph

194 Commits

Author SHA1 Message Date
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Zeev Suraski
428e722d88 - Fix comparison of objects
- Clarify convert_object_to_type()
2004-05-10 14:56:21 +00:00
Andi Gutmans
3317070941 - Fix comparison of two objects in non-compatibility mode. 2004-05-02 15:40:46 +00:00
Andi Gutmans
911922432f - Nuke more old junk 2004-04-03 17:01:13 +00:00
Andi Gutmans
1c7cfe739d - Nuke code which hasn't been in use for ages. 2004-04-03 11:09:39 +00:00
Stanislav Malyshev
9091bf8e5f centralize object-to-scalar conversion, make it work with get handler 2004-03-28 12:08:26 +00:00
Stanislav Malyshev
c331afa267 Use macros for object parts access 2004-03-28 10:44:48 +00:00
Derick Rethans
9ff10d086a - Revert bogus commit 2004-03-24 14:28:41 +00:00
Derick Rethans
2face60bef - Fixed NEWS
#- Can we *please* keep this in order?
2004-03-24 13:31:20 +00:00
Andi Gutmans
29ee03aa55 - Apply Ard's patch to support multiplication & overflow on both 32bit
and 64bit machines
2004-03-17 09:25:52 +00:00
Andi Gutmans
dae7093d93 - Restore E_NOTICE for longs and doubles. 2004-03-15 16:55:20 +00:00
Andi Gutmans
14d711b9bb - Nuke E_NOTICE. This caused a notice when doing if ($obj == NULL) 2004-03-15 14:15:47 +00:00
Andi Gutmans
f11c819ddb - Improve compatibility mode and compare objects according to property
- comparison (sucky but this is how PHP 4 behaved).
2004-03-14 15:56:03 +00:00
Andi Gutmans
515e28ed5b - Support old style of converting objects to long/double/bool.
- This is only enabled in compatibility mode, else it calls cast_object()
- and if that is not available we return 1 (true) so that the following
- code would work:
if ($obj) {
}
2004-03-14 15:45:09 +00:00
Marcus Boerger
2917102e3f Fix: Add return type void 2004-03-14 15:27:56 +00:00
Andi Gutmans
88de69b97c - Support Cast operator in convert_to_* so that we support internal
- extensions such as SimpleXML. This is for Sterling.
2004-03-14 13:52:36 +00:00
Andi Gutmans
4f897b2f3c - Fix memory leak in the following code (Dmitry):
<?php
$a = array();
$a .= "x";
?>
2004-03-14 13:14:48 +00:00
Andi Gutmans
52cd980702 - Initial commit which allows comparing overloaded objects with native
- types (only for internal classes and not for user-land classes).
2004-03-14 12:44:28 +00:00
Derick Rethans
e2c9926923 - Fixed bug #27354 (Modulus operator crashes PHP). 2004-02-22 20:02:26 +00:00
Zeev Suraski
f5e9ca64b1 Remove conflict 2004-01-10 12:48:04 +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
Moriyoshi Koizumi
033bc12d86 Fixes for POSIX compliancy. 2003-12-13 19:28:30 +00:00
foobar
a08c1e4dce - Brought ext/bcmath to the new millennium
# consistency..
2003-12-09 23:59:33 +00:00
Andi Gutmans
23b231d0eb - Revert the revert of these patches. This overloading can only be used
- by C extensions such as SimpleXML and *NOT* PHP code. Reasons given
- on the mailing list and problem with reentrancy inside the opcodes.
2003-12-02 21:09:24 +00:00
Andi Gutmans
a411d608fa - Don't automatically call __toString() in convert_to_string_ex().
- use __toString() in your code.
- Keep the auto-case in make_printable_zval.
2003-12-01 11:47:52 +00:00
Marcus Boerger
4dba05d9cc Add new interface ArrayAccess to use objects as Arrays 2003-11-24 20:57:54 +00:00
Moriyoshi Koizumi
138b1c7be3 Bugfix #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals) 2003-11-13 20:53:55 +00:00
Marcus Boerger
316854323d Handle exceptions in casting more gracefully.
This fixes bug #26166
2003-11-08 14:06:08 +00:00
Ilia Alshanetsky
c258f9c8a2 Fixed bug #26148 (Print the notice before modifying variable on type
mismatch).

# This only crashes in ZE1, however logic dictates that it may also crash
# in ZE2 because variable does not have a correct type.

Patch by: morten-bugs dot php dot net at afdelingp dot dk
2003-11-06 20:33:47 +00:00
Marcus Boerger
71ba442768 Fallback to default behaviour for unsupported object type conversions 2003-09-18 11:50:05 +00:00
Marcus Boerger
d7fdf15a41 - Allow partial type conversion support for objects.
- Add support for object to string conversion from userspace by method
  __toString() and add a test.
2003-09-18 11:38:33 +00:00
Zeev Suraski
36133c4d0b Simplify / fix 2003-09-15 08:13:34 +00:00
Zeev Suraski
e0508c13bb Commit 64-bit fixes to the standard operators
by Ard Biesheuvel (abies@php.net)
2003-09-14 17:37:01 +00:00
Marcus Boerger
744dd20520 Fix warnings 2003-08-17 19:14:30 +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
Sterling Hughes
dae3fefd10 revert back the optimization for now. 2003-06-30 01:41:15 +00:00
Sterling Hughes
f605f0b708 Very simple, but very effective optimization. Provides a signifigant speed
improvement to matches done via '=='.  This checks that the lengths of two
strings are equal before performing a memcmp() on them.
2003-06-29 01:49:10 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Marcus Boerger
472cc5b9f3 Faster interface inheritance & faster inheritance checks 2003-05-29 19:00:40 +00:00
Sterling Hughes
ae2bfb7880 Assume lazy consensus regarding the cast_object() patch. *Only* implemented
from a internals perspective.  This callback has been very useful for both
ext/mono and ext/simplexml
2003-05-27 18:52:25 +00:00
Sterling Hughes
ae9106521a move HANDLE_NUMERIC() from the hash table implementation upstream to the
places that actually need to use it.
2003-05-23 15:11:15 +00:00
Marcus Boerger
402f5f7a0d Use same parameter order as strcpy() 2003-05-21 22:36:09 +00:00
Marcus Boerger
7af8eadd57 Make zend_str_tolower_copy() a copy function (like stccpy).
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.
2003-05-21 21:59:40 +00:00
Sterling Hughes
5619166fe4 optimize loops. The check only exists for integers because that's the more
common optimization, and you actually lose performance if you check for
a double too (wierd but true).
2003-05-21 18:46:34 +00:00
Sterling Hughes
34087ad2b5 bah humbug, use the pointer based version, which turns out to be an instruction
faster
2003-05-20 22:31:15 +00:00
Sterling Hughes
7c7d14a413 use pointer arithmetic for the normal zend_str_tolower() 2003-05-20 20:39:58 +00:00
Sterling Hughes
3079bb1bda make this faster and sexier 2003-05-20 19:09:33 +00:00
Sterling Hughes
a4fb3300b3 doesn't need to be register 2003-05-20 18:42:09 +00:00
Sterling Hughes
ca6ca5e2a6 optimize the lookups by avoiding a copy and then another pass
Naked Dancing Girls should be given to: Myself, Zeev, Marcus,
and George Schlossnagle (in no particular order)
2003-05-20 18:28:14 +00:00