[uClibc-cvs] CVS uClibc++/include

CVS User gkajmowi gkajmowi at codepoet.org
Tue Jan 4 02:08:12 UTC 2005


Update of /var/cvs/uClibc++/include
In directory nail:/tmp/cvs-serv1622/include

Modified Files:
	fstream ios istream 
Log Message:
Fix different internal states in ios_base and basic_ios

--- /var/cvs/uClibc++/include/fstream	2005/01/04 01:53:16	1.9
+++ /var/cvs/uClibc++/include/fstream	2005/01/04 02:08:11	1.10
@@ -157,7 +157,7 @@
 			basic_streambuf<charT,traits>::gbump(-offset);
 			//Fill rest of buffer
 			int retval = fscanf(fp, "%1c", (basic_streambuf<charT,traits>::gptr() + 1));
-			if(retval == EOF || retval == 0){
+			if(retval == EOF){
 				return traits::eof();
 			}else if(retval < 0){
 				printf("Error trying to run scanf\n");
--- /var/cvs/uClibc++/include/ios	2005/01/04 01:53:16	1.7
+++ /var/cvs/uClibc++/include/ios	2005/01/04 02:08:11	1.8
@@ -306,6 +306,7 @@
 		basic_ios<charT,traits> & operator=(const basic_ios<charT,traits> &){ return *this; }
 		void init(basic_streambuf<charT,traits>* sb){
 			mstreambuf = sb;
+			mstate = goodbit;
 		}
 	};
 
--- /var/cvs/uClibc++/include/istream	2005/01/04 01:53:16	1.8
+++ /var/cvs/uClibc++/include/istream	2005/01/04 02:08:11	1.9
@@ -182,7 +182,9 @@
 					count_last_ufmt_input = i;
 					return *this;
 				}
-				sbuffer->sbumpc();
+				if(sbuffer->sbumpc()==traits::eof() ){
+					basic_ios<charT,traits>::setstate(ios_base::eofbit);
+				}
 				if(c == delim){
 					if(i==0){
 						basic_ios<charT,traits>::setstate(ios_base::failbit);



More information about the uClibc-cvs mailing list