This hunk seems dubious:
diff -urN libstdc++-v3-2/include/bits/fstream.tcc libstdc++-v3/include/bits/fstream.tcc
--- libstdc++-v3-2/include/bits/fstream.tcc 2003-04-29 21:46:07.000000000 +0200
+++ libstdc++-v3/include/bits/fstream.tcc 2003-05-03 20:31:35.000000000 +0200
@@ -67,8 +67,6 @@
delete [] this->_M_buf;
this->_M_buf = NULL;
_M_buf_allocated = false;
- this->setg(NULL, NULL, NULL);
- this->setp(NULL, NULL);
}
}
I believe filebuf::close() must set pptr() and gptr() to NULL, as sgetc
and sputc should always return EOF when is_open() == false.