locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and make sure the number of digits required after the...

2003-05-26  Brendan Kehoe  <brendan@zen.org>

    * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
    make sure the number of digits required after the decimal-point
    (if any) is exactly the value returned by frac_digits().

From-SVN: r67192
This commit is contained in:
Brendan Kehoe 2003-05-27 17:14:49 -04:00 committed by Brendan Kehoe
parent 87192773c4
commit 87a7c5a1ef
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2003-05-26 Brendan Kehoe <brendan@zen.org>
* include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
make sure the number of digits required after the decimal-point
(if any) is exactly the value returned by frac_digits().
2003-05-27 Jonathan Wakely <redi@gcc.gnu.org>
* include/std/std_istream.h, include/std/std_ostream.h: Typo in comment.

View File

@ -1271,6 +1271,18 @@ namespace std
if (__c == __eof)
__err |= ios_base::eofbit;
// Iff not enough digits were supplied after the decimal-point.
if (__testdecfound)
{
const int __frac = __intl ? __mpt.frac_digits()
: __mpf.frac_digits();
if (__frac > 0)
{
if (__sep_pos != __frac)
__testvalid = false;
}
}
// Iff valid sequence is not recognized.
if (!__testvalid || !__tmp_units.size())
__err |= ios_base::failbit;