svn commit: trunk/uClibc++/include
gkajmowi at uclibc.org
gkajmowi at uclibc.org
Sun Jul 23 01:04:04 UTC 2006
Author: gkajmowi
Date: 2006-07-22 18:04:04 -0700 (Sat, 22 Jul 2006)
New Revision: 15741
Log:
Make sure to set failbit in the event that we don't open the file requested.
Modified:
trunk/uClibc++/include/fstream
Changeset:
Modified: trunk/uClibc++/include/fstream
===================================================================
--- trunk/uClibc++/include/fstream 2006-07-23 01:03:36 UTC (rev 15740)
+++ trunk/uClibc++/include/fstream 2006-07-23 01:04:04 UTC (rev 15741)
@@ -545,7 +545,9 @@
return sb.is_open();
}
_UCXXEXPORT void open(const char* s, ios_base::openmode mode = ios_base::in){
- sb.open(s, mode);
+ if(sb.open(s, mode) == 0){
+ basic_ios<charT,traits>::setstate(ios_base::failbit);
+ }
}
_UCXXEXPORT void close(){
sb.close();
@@ -586,7 +588,9 @@
return sb.is_open();
}
_UCXXEXPORT void open(const char* s, ios_base::openmode mode = ios_base::out | ios_base::trunc){
- sb.open(s, mode);
+ if(sb.open(s, mode) == 0){
+ basic_ios<charT,traits>::setstate(ios_base::failbit);
+ }
}
_UCXXEXPORT void close(){
sb.close();
@@ -614,7 +618,9 @@
explicit _UCXXEXPORT basic_fstream(const char* s, ios_base::openmode mode = ios_base::in|ios_base::out):
basic_ios<charT, traits>(&sb), basic_iostream<charT,traits>(&sb)
{
- sb.open(s, mode);
+ if(sb.open(s, mode) == 0){
+ basic_ios<charT,traits>::setstate(ios_base::failbit);
+ }
}
_UCXXEXPORT basic_filebuf<charT,traits>* rdbuf() const{
@@ -624,7 +630,9 @@
return sb.is_open();
}
_UCXXEXPORT void open(const char* s, ios_base::openmode mode = ios_base::in|ios_base::out){
- sb.open(s, mode);
+ if(sb.open(s, mode) == 0){
+ basic_ios<charT,traits>::setstate(ios_base::failbit);
+ }
}
_UCXXEXPORT void close(){
sb.close();
More information about the uClibc-cvs
mailing list