libstdc++/4536: ostream seekp & istream seekg should scope failbit
brendan@zen.org
brendan@zen.org
Thu Oct 11 06:56:00 GMT 2001
>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 <brendan@zen.org>
* 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)
More information about the Gcc-bugs
mailing list