summaryrefslogtreecommitdiff
path: root/ext/standard/string.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-04-30 18:32:42 +0400
committerDmitry Stogov <dmitry@zend.com>2014-04-30 18:32:42 +0400
commit17d027ed47c1f07b397a611431d28ad0e0107146 (patch)
treeda6cadcd3ca0cad02dd4ff39f027575070873cbd /ext/standard/string.c
parent6a911e833f6b6dcac669a60808e96dc2c4f391d3 (diff)
downloadphp-git-17d027ed47c1f07b397a611431d28ad0e0107146.tar.gz
Split IS_BOOL into IS_FALSE and IS_TRUE
Diffstat (limited to 'ext/standard/string.c')
-rw-r--r--ext/standard/string.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 67c8001b5b..ebd667956a 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -1146,13 +1146,12 @@ again:
}
break;
- case IS_BOOL:
- if (Z_LVAL_P(tmp) == 1) {
- smart_str_appendl(&implstr, "1", sizeof("1")-1);
- }
+ case IS_TRUE:
+ smart_str_appendl(&implstr, "1", sizeof("1")-1);
break;
case IS_NULL:
+ case IS_FALSE:
break;
case IS_DOUBLE: {
@@ -1648,12 +1647,15 @@ static int php_needle_char(zval *needle, char *target TSRMLS_DC)
{
switch (Z_TYPE_P(needle)) {
case IS_LONG:
- case IS_BOOL:
*target = (char)Z_LVAL_P(needle);
return SUCCESS;
case IS_NULL:
+ case IS_FALSE:
*target = '\0';
return SUCCESS;
+ case IS_TRUE:
+ *target = '\1';
+ return SUCCESS;
case IS_DOUBLE:
*target = (char)(int)Z_DVAL_P(needle);
return SUCCESS;