summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-10-07 04:26:26 +0300
committerDmitry Stogov <dmitry@zend.com>2015-10-07 04:26:26 +0300
commitb8b335c492f87178ab18ca34f928051bc1b65934 (patch)
tree080873746ca77b74d4d2c901abcff27d745580b2
parent91588a98be7a8640f3511e8fbae67d8dd7c2e53f (diff)
downloadphp-git-b8b335c492f87178ab18ca34f928051bc1b65934.tar.gz
Restored the original (php-5) behavior of convert_to_cstring(). It was broken in php7 by mistake and caused problems in ext/pgsql/tests/bug46408.phpt.
-rw-r--r--Zend/zend_operators.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 2345e0b2d4..f2378d84b6 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -492,7 +492,16 @@ try_again:
ZEND_API void ZEND_FASTCALL _convert_to_cstring(zval *op ZEND_FILE_LINE_DC) /* {{{ */
{
- _convert_to_string(op ZEND_FILE_LINE_CC);
+ double dval;
+ if (Z_TYPE_P(op) == IS_DOUBLE) {
+ zend_string *str;
+ double dval = Z_DVAL_P(op);
+
+ str = zend_strpprintf(0, "%.*H", (int) EG(precision), dval);
+ ZVAL_NEW_STR(op, str);
+ } else {
+ _convert_to_string(op ZEND_FILE_LINE_CC);
+ }
}
/* }}} */