diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-04-30 18:32:42 +0400 | 
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-30 18:32:42 +0400 | 
| commit | 17d027ed47c1f07b397a611431d28ad0e0107146 (patch) | |
| tree | da6cadcd3ca0cad02dd4ff39f027575070873cbd /Zend/zend_execute.h | |
| parent | 6a911e833f6b6dcac669a60808e96dc2c4f391d3 (diff) | |
| download | php-git-17d027ed47c1f07b397a611431d28ad0e0107146.tar.gz | |
Split IS_BOOL into IS_FALSE and IS_TRUE
Diffstat (limited to 'Zend/zend_execute.h')
| -rw-r--r-- | Zend/zend_execute.h | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index 98e2678f53..0cdaeabde0 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -80,13 +80,18 @@ again:  	switch (Z_TYPE_P(op)) {  		case IS_UNDEF:  		case IS_NULL: +		case IS_FALSE:  			result = 0;  			break; +		case IS_TRUE: +			result = 1; +			break;  		case IS_LONG: -		case IS_BOOL: -		case IS_RESOURCE:  			result = (Z_LVAL_P(op)?1:0);  			break; +		case IS_RESOURCE: +			result = (Z_RES_HANDLE_P(op)?1:0); +			break;  		case IS_DOUBLE:  			result = (Z_DVAL_P(op) ? 1 : 0);  			break; @@ -105,8 +110,8 @@ again:  			if (IS_ZEND_STD_OBJECT(*op)) {  				if (Z_OBJ_HT_P(op)->cast_object) {  					zval tmp; -					if (Z_OBJ_HT_P(op)->cast_object(op, &tmp, IS_BOOL TSRMLS_CC) == SUCCESS) { -						result = Z_LVAL(tmp); +					if (Z_OBJ_HT_P(op)->cast_object(op, &tmp, _IS_BOOL TSRMLS_CC) == SUCCESS) { +						result = Z_TYPE(tmp) == IS_TRUE;  						break;  					}  				} else if (Z_OBJ_HT_P(op)->get) { @@ -115,7 +120,7 @@ again:  					if (Z_TYPE_P(tmp) != IS_OBJECT) {  						/* for safety - avoid loop */  						convert_to_boolean(tmp); -						result = Z_LVAL_P(tmp); +						result = Z_TYPE_P(tmp) == IS_TRUE;  						zval_ptr_dtor(tmp);  						break;  					}  | 
