summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2004-03-14 13:52:36 +0000
committerAndi Gutmans <andi@php.net>2004-03-14 13:52:36 +0000
commit88de69b97c53b33a8ab365a133d0498e15dbb369 (patch)
treefe6893d79c5bf8c5726ff250de70dc4db7b06d7f /Zend/zend_operators.c
parent4f897b2f3c9fda157a90e684d23d47eb1e6ae47b (diff)
downloadphp-git-88de69b97c53b33a8ab365a133d0498e15dbb369.tar.gz
- Support Cast operator in convert_to_* so that we support internal
- extensions such as SimpleXML. This is for Sterling.
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 8698df2096..4f23d757a7 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -203,7 +203,9 @@ ZEND_API void convert_scalar_to_number(zval *op TSRMLS_DC)
(holder).value.lval = (zend_hash_num_elements((op)->value.ht)?1:0); \
break; \
case IS_OBJECT: \
- (holder).value.lval = 1; /* TBI!! */ \
+ (holder) = (*(op)); \
+ zval_copy_ctor(&(holder)); \
+ convert_to_long(&(holder)); \
break; \
case IS_BOOL: \
case IS_RESOURCE: \
@@ -246,7 +248,9 @@ ZEND_API void convert_scalar_to_number(zval *op TSRMLS_DC)
(holder).value.lval = (zend_hash_num_elements((op)->value.ht)?1:0); \
break; \
case IS_OBJECT: \
- (holder).value.lval = 1; /* TBI!! */ \
+ (holder) = (*(op)); \
+ zval_copy_ctor(&(holder)); \
+ convert_to_boolean(&(holder)); \
break; \
default: \
(holder).value.lval = 0; \