summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2004-07-19 07:19:50 +0000
committerAndi Gutmans <andi@php.net>2004-07-19 07:19:50 +0000
commit56f8195fe592e79d90c78fb015f39bffa7f39422 (patch)
tree6a1bf69bc9cd23fab98c4d3d6c12368b56d26079 /Zend/zend.c
parent599ae4b1b53d46e10447dab8fb4faa2d0517370a (diff)
downloadphp-git-56f8195fe592e79d90c78fb015f39bffa7f39422.tar.gz
- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because STR_FREE() and zval_dtor() always have to check for it and it slows down the general case. In addition, it seems that empty_string has been abused quite a lot, and was used not only for setting zval's but generally in PHP code instead of "", which wasn't the intention. Last but not least, nuking empty_string should improve stability as I doubt every place correctly checked if they are not mistakenly erealloc()'ing it or calling efree() on it. NOTE: Some code is probably broken. Each extension maintainer should check and see that my changes are OK. Also, I haven't had time to touch PECL yet. Will try and do it tomorrow.
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 22af4592ae..a5c0e3ed69 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -194,7 +194,7 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
switch (expr->type) {
case IS_NULL:
expr_copy->value.str.len = 0;
- expr_copy->value.str.val = empty_string;
+ expr_copy->value.str.val = STR_EMPTY_ALLOC();
break;
case IS_BOOL:
if (expr->value.lval) {
@@ -202,7 +202,7 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
expr_copy->value.str.val = estrndup("1", 1);
} else {
expr_copy->value.str.len = 0;
- expr_copy->value.str.val = empty_string;
+ expr_copy->value.str.val = STR_EMPTY_ALLOC();
}
break;
case IS_RESOURCE:
@@ -242,7 +242,7 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
if (EG(exception)) {
zval_dtor(expr_copy);
expr_copy->value.str.len = 0;
- expr_copy->value.str.val = empty_string;
+ expr_copy->value.str.val = STR_EMPTY_ALLOC();
break;
}
}