]> granicus.if.org Git - php/commitdiff
(PHP var_dump, serialize) now use php.ini's precision size when displying/serializing...
authorThies C. Arntzen <thies@php.net>
Sat, 6 Nov 1999 08:16:25 +0000 (08:16 +0000)
committerThies C. Arntzen <thies@php.net>
Sat, 6 Nov 1999 08:16:25 +0000 (08:16 +0000)
@- serialize() and var_dump() now honor the precision as set in php.ini
@  for doubles. (Thies)

ext/standard/var.c

index 5d7301f092dcf6ec5a4390b9437f88cb39f6388b..ae709201cacf740e6c264379d2784c928d39524f 100644 (file)
@@ -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:{