summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r--Zend/zend_operators.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index e10a75679d..333bce5dfc 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -1455,7 +1455,7 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
zend_uchar or = (zend_uchar) (*Z_STRVAL_P(op1) | *Z_STRVAL_P(op2));
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_INTERNED_STR(result, ZSTR_CHAR(or));
return SUCCESS;
@@ -1473,7 +1473,7 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op
}
memcpy(ZSTR_VAL(str) + i, Z_STRVAL_P(longer) + i, Z_STRLEN_P(longer) - i + 1);
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_NEW_STR(result, str);
return SUCCESS;
@@ -1533,7 +1533,7 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
zend_uchar and = (zend_uchar) (*Z_STRVAL_P(op1) & *Z_STRVAL_P(op2));
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_INTERNED_STR(result, ZSTR_CHAR(and));
return SUCCESS;
@@ -1551,7 +1551,7 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o
}
ZSTR_VAL(str)[i] = 0;
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_NEW_STR(result, str);
return SUCCESS;
@@ -1611,7 +1611,7 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
zend_uchar xor = (zend_uchar) (*Z_STRVAL_P(op1) ^ *Z_STRVAL_P(op2));
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_INTERNED_STR(result, ZSTR_CHAR(xor));
return SUCCESS;
@@ -1629,7 +1629,7 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o
}
ZSTR_VAL(str)[i] = 0;
if (result==op1) {
- zend_string_release_ex(Z_STR_P(result), 0);
+ zval_ptr_dtor_str(result);
}
ZVAL_NEW_STR(result, str);
return SUCCESS;
@@ -2332,7 +2332,7 @@ static void ZEND_FASTCALL increment_string(zval *str) /* {{{ */
int ch;
if (Z_STRLEN_P(str) == 0) {
- zend_string_release_ex(Z_STR_P(str), 0);
+ zval_ptr_dtor_str(str);
ZVAL_INTERNED_STR(str, ZSTR_CHAR('1'));
return;
}
@@ -2426,7 +2426,7 @@ try_again:
switch (is_numeric_string(Z_STRVAL_P(op1), Z_STRLEN_P(op1), &lval, &dval, 0)) {
case IS_LONG:
- zend_string_release_ex(Z_STR_P(op1), 0);
+ zval_ptr_dtor_str(op1);
if (lval == ZEND_LONG_MAX) {
/* switch to double */
double d = (double)lval;
@@ -2436,7 +2436,7 @@ try_again:
}
break;
case IS_DOUBLE:
- zend_string_release_ex(Z_STR_P(op1), 0);
+ zval_ptr_dtor_str(op1);
ZVAL_DOUBLE(op1, dval+1);
break;
default:
@@ -2493,13 +2493,13 @@ try_again:
break;
case IS_STRING: /* Like perl we only support string increment */
if (Z_STRLEN_P(op1) == 0) { /* consider as 0 */
- zend_string_release_ex(Z_STR_P(op1), 0);
+ zval_ptr_dtor_str(op1);
ZVAL_LONG(op1, -1);
break;
}
switch (is_numeric_string(Z_STRVAL_P(op1), Z_STRLEN_P(op1), &lval, &dval, 0)) {
case IS_LONG:
- zend_string_release_ex(Z_STR_P(op1), 0);
+ zval_ptr_dtor_str(op1);
if (lval == ZEND_LONG_MIN) {
double d = (double)lval;
ZVAL_DOUBLE(op1, d-1);
@@ -2508,7 +2508,7 @@ try_again:
}
break;
case IS_DOUBLE:
- zend_string_release_ex(Z_STR_P(op1), 0);
+ zval_ptr_dtor_str(op1);
ZVAL_DOUBLE(op1, dval - 1);
break;
}