2003-02-19  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/strtod.c (INTERNAL): Up the safety margin for cutting of
	decimal input digits.
This commit is contained in:
Ulrich Drepper 2003-02-19 08:45:03 +00:00
parent 2f7dc59492
commit 1c5247109d
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2003-02-19 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod.c (INTERNAL): Up the safety margin for cutting of
decimal input digits.
2003-02-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Recognize

View File

@ -1,6 +1,6 @@
/* Read decimal floating point numbers.
This file is part of the GNU C Library.
Copyright (C) 1995,96,97,98,99,2000,01,02 Free Software Foundation, Inc.
Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
The GNU C Library is free software; you can redistribute it and/or
@ -1191,10 +1191,10 @@ INTERNAL (STRTOF) (nptr, endptr, group LOCALE_PARAM)
ceil(BITS / 3) =: N
digits we should have enough bits for the result. The remaining
decimal digits give us the information that more bits are following.
This can be used while rounding. (One added as a safety margin.) */
if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 1)
This can be used while rounding. (Two added as a safety margin.) */
if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
{
dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 1;
dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
more_bits = 1;
}
else