]> granicus.if.org Git - php/commitdiff
Print .0 in phpdbg opcode dumps
authorNikita Popov <nikic@php.net>
Wed, 23 Mar 2016 18:14:22 +0000 (19:14 +0100)
committerNikita Popov <nikic@php.net>
Fri, 25 Mar 2016 18:11:32 +0000 (19:11 +0100)
sapi/phpdbg/phpdbg_utils.c

index 7158f3ba6cd455458e95b6d336d94c49c86cd49c..6f42665809b1002375130d9adb43fcb1f3779330 100644 (file)
@@ -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;