diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-11-30 07:01:14 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-11-30 07:01:14 +0000 |
commit | aa8a3b59b1603ce0855e5130cb060318c8e8c78d (patch) | |
tree | a4b3fb8b31b3e880c248d2120b929282fc61b5e0 /stdlib | |
parent | c1f8ef75d3ddf687efc5ee23e16075c256fa77be (diff) | |
download | glibc-aa8a3b59b1603ce0855e5130cb060318c8e8c78d.tar.gz glibc-aa8a3b59b1603ce0855e5130cb060318c8e8c78d.tar.xz glibc-aa8a3b59b1603ce0855e5130cb060318c8e8c78d.zip |
2.3.3-86 cvs/fedora-glibc-2_3_3-86
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/strtod_l.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c index dce65cb83c..a656789f4c 100644 --- a/stdlib/strtod_l.c +++ b/stdlib/strtod_l.c @@ -1442,15 +1442,10 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) if (numsize < densize) { mp_size_t empty = densize - numsize; + register int i; if (bits <= 0) - { - register int i; - for (i = numsize; i > 0; --i) - num[i + empty] = num[i - 1]; - MPN_ZERO (num, empty + 1); - exponent -= empty * BITS_PER_MP_LIMB; - } + exponent -= empty * BITS_PER_MP_LIMB; else { if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG) @@ -1459,7 +1454,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) cannot optimize the `else' case that good and this reflects all currently used FLOAT types and GMP implementations. */ - register int i; #if RETURN_LIMB_SIZE <= 2 assert (empty == 1); __mpn_lshift_1 (retval, RETURN_LIMB_SIZE, @@ -1470,9 +1464,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) while (i >= 0) retval[i--] = 0; #endif - for (i = numsize; i > 0; --i) - num[i + empty] = num[i - 1]; - MPN_ZERO (num, empty + 1); } else { @@ -1492,6 +1483,9 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc) } bits += empty * BITS_PER_MP_LIMB; } + for (i = numsize; i > 0; --i) + num[i + empty] = num[i - 1]; + MPN_ZERO (num, empty + 1); } else { |