diff options
author | Kevin Ryde <user42@zip.com.au> | 2001-09-16 01:12:44 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2001-09-16 01:12:44 +0200 |
commit | 224924e8ff7574900766cf4cac106108d9ab14fd (patch) | |
tree | c3eae596e83a0825daaf553f70b01b52fe396b2a /printf/doprnt.c | |
parent | 594dca97eff984cf65675c2d2aba5f8d16b31576 (diff) | |
download | gmp-224924e8ff7574900766cf4cac106108d9ab14fd.tar.gz |
* printf/doprnt.c: '#' means showpoint and showtrailing for %e, %f, %g.
Diffstat (limited to 'printf/doprnt.c')
-rw-r--r-- | printf/doprnt.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/printf/doprnt.c b/printf/doprnt.c index 7600fab26..0b58de79b 100644 --- a/printf/doprnt.c +++ b/printf/doprnt.c @@ -210,7 +210,7 @@ __gmp_doprnt (const struct doprnt_funs_t *funs, void *data, param.prec = -1; /* default to all digits */ param.showbase = DOPRNT_SHOWBASE_YES; param.showtrailing = 1; - goto floating; + goto floating_a; case 'c': /* Let's assume wchar_t will be promoted to "int" in the call, @@ -303,6 +303,13 @@ __gmp_doprnt (const struct doprnt_funs_t *funs, void *data, case 'e': param.conv = DOPRNT_CONV_SCIENTIFIC; floating: + if (param.showbase == DOPRNT_SHOWBASE_NONZERO) + { + /* # in %e, %f and %g */ + param.showpoint = 1; + param.showtrailing = 1; + } + floating_a: switch (type) { case 'F': FLUSH (); |