From mboxrd@z Thu Jan 1 00:00:00 1970 From: brendan@zen.org To: gcc-gnats@gcc.gnu.org Subject: libstdc++/4536: ostream seekp & istream seekg should scope failbit Date: Thu, 11 Oct 2001 06:56:00 -0000 Message-id: <20011011134829.17463.qmail@sourceware.cygnus.com> X-SW-Source: 2001-10/msg00217.html List-Id: >Number: 4536 >Category: libstdc++ >Synopsis: ostream seekp & istream seekg should scope failbit >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Oct 11 06:56:00 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Brendan Kehoe >Release: CVS tree >Organization: >Environment: >Description: ostream's seekp and istream's seekg methods need to use failbit as `ios_base::failbit'. It may be worth noting that the setting of failbit goes in line with the change for library DR #129. The standard pre-DR edits does not include the clause in $27.6.2.4(2) regarding the setting of failbit. >How-To-Repeat: >Fix: See attached patch. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="diffs-istream-1.txt" Content-Disposition: inline; filename="diffs-istream-1.txt" 2001-10-11 Brendan Kehoe * bits/ostream.tcc (seekp): Scope use as ios_base::failbit. * bits/istream.tcc (seekg): Likewise. Index: include/bits/ostream.tcc =================================================================== RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/ostream.tcc,v retrieving revision 1.15 diff -u -p -r1.15 ostream.tcc --- ostream.tcc 2001/09/25 23:51:17 1.15 +++ ostream.tcc 2001/10/10 11:44:23 @@ -346,7 +346,7 @@ namespace std if (__sbin && __cerb) __xtrct = __copy_streambufs(*this, __sbin, __sbout); if (!__sbin || !__xtrct) - this->setstate(ios_base::failbit); + this->setstate(ios_base::failbit); return *this; } Index: include/bits/istream.tcc =================================================================== RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/istream.tcc,v retrieving revision 1.19 diff -u -p -r1.19 istream.tcc --- istream.tcc 2001/09/25 23:51:17 1.19 +++ istream.tcc 2001/10/10 11:44:13 @@ -963,7 +963,7 @@ namespace std // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) - this->setstate(failbit); + this->setstate(ios_base::failbit); #endif } catch(exception& __fail) @@ -996,7 +996,7 @@ namespace std // 129. Need error indication from seekp() and seekg() if (__err == pos_type(off_type(-1))) - this->setstate(failbit); + this->setstate(ios_base::failbit); #endif } catch(exception& __fail)