aboutsummaryrefslogtreecommitdiffstats
path: root/profile.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-09-04 14:37:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-09-04 14:37:15 +0300
commit2b7501cc7c765b22c893409b4087b31fdbd9ac14 (patch)
treeaccb7eff8ba3c928042066dedd36ea919c16fc2d /profile.c
parent0d974ba125c1e8df68fecc2f579bb067d056cc3f (diff)
parent26ab51cc70109abd04ac04ff75bb58abb2eb957f (diff)
downloadegawk-2b7501cc7c765b22c893409b4087b31fdbd9ac14.tar.gz
egawk-2b7501cc7c765b22c893409b4087b31fdbd9ac14.tar.bz2
egawk-2b7501cc7c765b22c893409b4087b31fdbd9ac14.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'profile.c')
-rw-r--r--profile.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/profile.c b/profile.c
index 90f01c07..f5bcf8c5 100644
--- a/profile.c
+++ b/profile.c
@@ -1459,9 +1459,19 @@ pp_number(NODE *n)
} else
#endif
{
- count = PP_PRECISION + 10;
- emalloc(str, char *, count, "pp_number");
- sprintf(str, "%0.*g", PP_PRECISION, n->numbr);
+ /* Use format_val() to get integral values printed as integers */
+ NODE *s;
+
+ getnode(s);
+ *s = *n;
+ s->flags &= ~STRCUR;
+
+ s = r_format_val("%.6g", 0, s);
+
+ s->stptr[s->stlen] = '\0';
+ str = s->stptr;
+
+ freenode(s);
}
return str;