diff options
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r-- | Zend/zend_operators.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 3a18e94b24..162a634162 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -66,16 +66,15 @@ ZEND_API void convert_scalar_to_number(zval *op) case IS_BC: \ (holder).type = IS_DOUBLE; /* may have lost significant digits */ \ break; \ - case IS_RESOURCE: \ - case IS_BOOL: \ - (holder).type = IS_LONG; \ - break; \ default: \ (holder).value.lval = strtol((op)->value.str.val, NULL, 10); \ (holder).type = IS_LONG; \ break; \ } \ (op) = &(holder); \ + } else if ((op)->type==IS_BOOL || (op)->type==IS_RESOURCE) { \ + (holder).type = IS_LONG; \ + (op) = &(holder); \ } |