aboutsummaryrefslogtreecommitdiff
path: root/stdio-common/printf_fp.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-09-09 11:53:19 +0000
committerUlrich Drepper <drepper@redhat.com>1998-09-09 11:53:19 +0000
commit6e4c40baacfd7eaf1578f707759d79b5d95d626c (patch)
treeebea3ca25b71a1f21e657b7ab8a506f640197d79 /stdio-common/printf_fp.c
parent7fd18ea2de82bb4f0e393aee1dc412cd025f3be8 (diff)
downloadglibc-6e4c40baacfd7eaf1578f707759d79b5d95d626c.tar
glibc-6e4c40baacfd7eaf1578f707759d79b5d95d626c.tar.gz
glibc-6e4c40baacfd7eaf1578f707759d79b5d95d626c.tar.bz2
glibc-6e4c40baacfd7eaf1578f707759d79b5d95d626c.zip
Update.
1998-09-09 09:32 Ulrich Drepper <drepper@cygnus.com> * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Make function inline. 1998-09-07 Paul Eggert <eggert@twinsun.com> * time/mktime.c (__EXTENSIONS__): Define if not defined. (_REENTRANT): Remove. It has undesirable consequences in Solaris 2.6 (e.g. it turns off the putc macro). Defining __EXTENSIONS__ makes localtime_r and gmtime_r visible, which is what we want. * time/strftime.c: Likewise. 1998-09-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/dl-error.c: Fix spelling. 1998-09-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdlib/strfmon.c: Quiet -Wparentheses warnings. * stdio-common/_itoa.c: Likewise. * stdio-common/printf_fp.c: Likewise. * stdio-common/vfscanf.c: Likewise. * wcsmbs/wcstok.c: Likewise. * sysdeps/generic/glob.c: Likewise. * posix/getopt.c: Likewise. * sysdeps/posix/getaddrinfo.c: Likewise. * posix/wordexp.c: Likewise. * io/ftw.c: Likewise. * io/fts.c: Likewise. * misc/getpass.c: Likewise. * iconv/gconv_conf.c: Likewise. * argp/argp-fmtstream.c: Likewise. * argp/argp-help.c: Likewise. * elf/dl-load.c: Likewise. * locale/programs/stringtrans.c: Likewise. * catgets/gencat.c: Likewise. * posix/getconf.c: Likewise. * iconv/gconv_conf.c: Likewise. * iconv/iconv_prog.c: Likewise. * string/strcoll.c: Optimize a few expressions. * string/strxfrm.c: Likewise. 1998-09-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/dl-open.c (dl_open_worker): Move decl of new_global up one level to avoid uninit variable warning. 1998-09-09 10:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> instead of _dl_default_scope[2] as argument to _dl_init_next. Fix compatibility problems introduced in last change.
Diffstat (limited to 'stdio-common/printf_fp.c')
-rw-r--r--stdio-common/printf_fp.c64
1 files changed, 34 insertions, 30 deletions
diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c
index e54fac0a57..e5e3026bce 100644
--- a/stdio-common/printf_fp.c
+++ b/stdio-common/printf_fp.c
@@ -574,19 +574,21 @@ __printf_fp (FILE *fp,
for overflow. This is done by comparing with 10 shifted
to the right position. */
if (incr == exponent + 3)
- if (cnt_h <= BITS_PER_MP_LIMB - 4)
- {
- topval[0] = 0;
- topval[1]
- = ((mp_limb_t) 10) << (BITS_PER_MP_LIMB - 4 - cnt_h);
- }
- else
- {
- topval[0] = ((mp_limb_t) 10) << (BITS_PER_MP_LIMB - 4);
- topval[1] = 0;
- (void) __mpn_lshift (topval, topval, 2,
- BITS_PER_MP_LIMB - cnt_h);
- }
+ {
+ if (cnt_h <= BITS_PER_MP_LIMB - 4)
+ {
+ topval[0] = 0;
+ topval[1]
+ = ((mp_limb_t) 10) << (BITS_PER_MP_LIMB - 4 - cnt_h);
+ }
+ else
+ {
+ topval[0] = ((mp_limb_t) 10) << (BITS_PER_MP_LIMB - 4);
+ topval[1] = 0;
+ (void) __mpn_lshift (topval, topval, 2,
+ BITS_PER_MP_LIMB - cnt_h);
+ }
+ }
/* We have to be careful when multiplying the last factor.
If the result is greater than 1.0 be have to test it
@@ -816,23 +818,25 @@ __printf_fp (FILE *fp,
char *tp = cp;
if (digit == '5' && (*(cp - 1) & 1) == 0)
- /* This is the critical case. */
- if (fracsize == 1 && frac[0] == 0)
- /* Rest of the number is zero -> round to even.
- (IEEE 754-1985 4.1 says this is the default rounding.) */
- goto do_expo;
- else if (scalesize == 0)
- {
- /* Here we have to see whether all limbs are zero since no
- normalization happened. */
- size_t lcnt = fracsize;
- while (lcnt >= 1 && frac[lcnt - 1] == 0)
- --lcnt;
- if (lcnt == 0)
- /* Rest of the number is zero -> round to even.
- (IEEE 754-1985 4.1 says this is the default rounding.) */
- goto do_expo;
- }
+ {
+ /* This is the critical case. */
+ if (fracsize == 1 && frac[0] == 0)
+ /* Rest of the number is zero -> round to even.
+ (IEEE 754-1985 4.1 says this is the default rounding.) */
+ goto do_expo;
+ else if (scalesize == 0)
+ {
+ /* Here we have to see whether all limbs are zero since no
+ normalization happened. */
+ size_t lcnt = fracsize;
+ while (lcnt >= 1 && frac[lcnt - 1] == 0)
+ --lcnt;
+ if (lcnt == 0)
+ /* Rest of the number is zero -> round to even.
+ (IEEE 754-1985 4.1 says this is the default rounding.) */
+ goto do_expo;
+ }
+ }
if (fracdig_no > 0)
{