summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-11-06 08:16:25 +0000
committerThies C. Arntzen <thies@php.net>1999-11-06 08:16:25 +0000
commitc6b05b2e6b0f13d9610955d48f9b58b9716a3be8 (patch)
treec04da30246e60cf2a748e1448815c2e54d9e9710
parentb1f13fcc35ac735e2de3e85d9fae6a5c99be3db6 (diff)
downloadphp-git-c6b05b2e6b0f13d9610955d48f9b58b9716a3be8.tar.gz
(PHP var_dump, serialize) now use php.ini's precision size when displying/serializing doubles
@- serialize() and var_dump() now honor the precision as set in php.ini @ for doubles. (Thies)
-rw-r--r--ext/standard/var.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 5d7301f092..ae709201ca 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -53,9 +53,11 @@ void php_var_dump(pval **struc, int level)
PHPWRITE(&buf[1], i - 1);
break;
- case IS_DOUBLE:
- i = sprintf(buf, "%*cfloat(%g)\n", level, ' ', (*struc)->value.dval);
- PHPWRITE(&buf[1], i - 1);
+ case IS_DOUBLE: {
+ ELS_FETCH();
+ i = sprintf(buf, "%*cfloat(%.*G)\n", level, ' ', (int) EG(precision), (*struc)->value.dval);
+ PHPWRITE(&buf[1], i - 1);
+ }
break;
case IS_STRING:
@@ -199,9 +201,11 @@ void php_var_serialize(pval *buf, pval **struc)
STR_CAT(buf, s, slen);
return;
- case IS_DOUBLE:
- slen = sprintf(s, "d:%g;", (*struc)->value.dval);
- STR_CAT(buf, s, slen);
+ case IS_DOUBLE: {
+ ELS_FETCH();
+ slen = sprintf(s, "d:%.*G;",(int) EG(precision), (*struc)->value.dval);
+ STR_CAT(buf, s, slen);
+ }
return;
case IS_STRING:{