summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_utils.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-03-23 19:14:22 +0100
committerNikita Popov <nikic@php.net>2016-03-25 19:11:32 +0100
commit24551ed6c8f9e8cee6d12aa792f83648eead7ff4 (patch)
tree65ca85b443bc7364cbc04b3f89e40206f6189573 /sapi/phpdbg/phpdbg_utils.c
parent37c8bb58686b2d86f145ebe4fe39854f5951dcd7 (diff)
downloadphp-git-24551ed6c8f9e8cee6d12aa792f83648eead7ff4.tar.gz
Print .0 in phpdbg opcode dumps
Diffstat (limited to 'sapi/phpdbg/phpdbg_utils.c')
-rw-r--r--sapi/phpdbg/phpdbg_utils.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sapi/phpdbg/phpdbg_utils.c b/sapi/phpdbg/phpdbg_utils.c
index 7158f3ba6c..6f42665809 100644
--- a/sapi/phpdbg/phpdbg_utils.c
+++ b/sapi/phpdbg/phpdbg_utils.c
@@ -804,6 +804,18 @@ char *phpdbg_short_zval_print(zval *zv, int maxlen) /* {{{ */
break;
case IS_DOUBLE:
spprintf(&decode, 0, "%.*G", 14, Z_DVAL_P(zv));
+
+ /* Make sure it looks like a float */
+ if (zend_finite(Z_DVAL_P(zv)) && !strchr(decode, '.')) {
+ size_t len = strlen(decode);
+ char *decode2 = emalloc(len + strlen(".0") + 1);
+ memcpy(decode2, decode, len);
+ decode2[len] = '.';
+ decode2[len+1] = '0';
+ decode2[len+2] = '\0';
+ efree(decode);
+ decode = decode2;
+ }
break;
case IS_STRING: {
int i;