summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_operators.c12
-rw-r--r--Zend/zend_operators.h3
2 files changed, 8 insertions, 7 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index cd7ad72b09..991385932b 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -322,7 +322,7 @@ ZEND_API void convert_to_boolean(zval *op)
}
-ZEND_API void convert_to_string(zval *op)
+ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC)
{
long lval;
double dval;
@@ -337,7 +337,7 @@ ZEND_API void convert_to_string(zval *op)
break;
case IS_BOOL:
if (op->value.lval) {
- op->value.str.val = estrndup("1", 1);
+ op->value.str.val = estrndup_rel("1", 1);
op->value.str.len = 1;
} else {
op->value.str.val = empty_string;
@@ -347,24 +347,24 @@ ZEND_API void convert_to_string(zval *op)
case IS_LONG:
lval = op->value.lval;
- op->value.str.val = (char *) emalloc(MAX_LENGTH_OF_LONG + 1);
+ op->value.str.val = (char *) emalloc_rel(MAX_LENGTH_OF_LONG + 1);
op->value.str.len = zend_sprintf(op->value.str.val, "%ld", lval); /* SAFE */
break;
case IS_DOUBLE: {
dval = op->value.dval;
- op->value.str.val = (char *) emalloc(MAX_LENGTH_OF_DOUBLE + EG(precision) + 1);
+ op->value.str.val = (char *) emalloc_rel(MAX_LENGTH_OF_DOUBLE + EG(precision) + 1);
op->value.str.len = zend_sprintf(op->value.str.val, "%.*G", (int) EG(precision), dval); /* SAFE */
/* %G already handles removing trailing zeros from the fractional part, yay */
break;
}
case IS_ARRAY:
zval_dtor(op);
- op->value.str.val = estrndup("Array",sizeof("Array")-1);
+ op->value.str.val = estrndup_rel("Array",sizeof("Array")-1);
op->value.str.len = sizeof("Array")-1;
break;
case IS_OBJECT:
zval_dtor(op);
- op->value.str.val = estrndup("Object",sizeof("Object")-1);
+ op->value.str.val = estrndup_rel("Object",sizeof("Object")-1);
op->value.str.len = sizeof("Object")-1;
break;
default:
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index a1ecc56a62..7915a043f7 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -54,7 +54,7 @@ ZEND_API int decrement_function(zval *op2);
BEGIN_EXTERN_C()
ZEND_API void convert_scalar_to_number(zval *op);
-ZEND_API void convert_to_string(zval *op);
+ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC);
ZEND_API void convert_to_long(zval *op);
ZEND_API void convert_to_double(zval *op);
ZEND_API void convert_to_long_base(zval *op, int base);
@@ -64,6 +64,7 @@ ZEND_API void convert_to_array(zval *op);
ZEND_API void convert_to_object(zval *op);
ZEND_API int add_char_to_string(zval *result, zval *op1, zval *op2);
ZEND_API int add_string_to_string(zval *result, zval *op1, zval *op2);
+#define convert_to_string(op) _convert_to_string((op) ZEND_FILE_LINE_CC)
END_EXTERN_C()
ZEND_API int zval_is_true(zval *op);