summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-07-14 09:10:14 +0000
committerAndi Gutmans <andi@php.net>1999-07-14 09:10:14 +0000
commit078c3ce198a6a1f6ee244b4e4d155e935360cc19 (patch)
treeb88307dbb101297344c27aec839b5b91ad457a63 /Zend/zend_operators.c
parentf03ad4c7d67327611ec58a588eab1729a512ddbc (diff)
downloadphp-git-078c3ce198a6a1f6ee244b4e4d155e935360cc19.tar.gz
- Fix for boolean convert to number
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 38963c8c61..d0d9e2cc34 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -41,6 +41,9 @@ ZEND_API void convert_scalar_to_number(zval *op)
case IS_DOUBLE:
case IS_LONG:
break;
+ case IS_BOOL:
+ op->type = IS_LONG;
+ break;
#if WITH_BCMATH
case IS_BC:
op->type = IS_DOUBLE; /* may have lost significant digits */
@@ -73,6 +76,7 @@ ZEND_API void convert_scalar_to_number(zval *op)
} \
(op) = &(holder); \
} else if ((op)->type==IS_BOOL || (op)->type==IS_RESOURCE) { \
+ (holder) = *(op); \
(holder).type = IS_LONG; \
(op) = &(holder); \
}