diff options
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r-- | Zend/zend_operators.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 897d807020..50b9e7555b 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -36,7 +36,7 @@ ZEND_API int zend_atoi(const char *str, int str_len) if (!str_len) { str_len = strlen(str); } - retval = atoi(str); + retval = strtol(str, NULL, 0); if (str_len>0) { switch (str[str_len-1]) { case 'k': @@ -871,7 +871,7 @@ ZEND_API int bitwise_or_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) result_str[i] |= shorter->value.str.val[i]; } if (result==op1) { - efree(result->value.str.val); + STR_FREE(result->value.str.val); } result->value.str.val = result_str; result->value.str.len = result_len; @@ -910,7 +910,7 @@ ZEND_API int bitwise_and_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) result_str[i] &= longer->value.str.val[i]; } if (result==op1) { - efree(result->value.str.val); + STR_FREE(result->value.str.val); } result->value.str.val = result_str; result->value.str.len = result_len; @@ -951,7 +951,7 @@ ZEND_API int bitwise_xor_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) result_str[i] ^= longer->value.str.val[i]; } if (result==op1) { - efree(result->value.str.val); + STR_FREE(result->value.str.val); } result->value.str.val = result_str; result->value.str.len = result_len; @@ -1489,12 +1489,12 @@ ZEND_API int increment_function(zval *op1) op1->value.lval = lval+1; op1->type = IS_LONG; } - efree(strval); + efree(strval); /* should never be empty_string */ break; case IS_DOUBLE: op1->value.dval = dval+1; op1->type = IS_DOUBLE; - efree(strval); + efree(strval); /* should never be empty_string */ break; #if 0 case FLAG_IS_BC: |