Ogre use "while(!stream->eof())" to check end of file for serializer.
In "FileStreamDataStream::eof()", it use "return mInStream->eof()". It's not correct!
http://stackoverflow.com/questions/3712 ... f-the-file
http://stackoverflow.com/questions/6283 ... s-eof-in-c
http://www.parashift.com/c++-faq-lite/i ... d-eof.html
I think "return mInStream->peek() == std::istream::traits_type::eof();" to check EOF is better.
What's your advice?
Minor issues with the Ogre API that can be trivial to fix
2 posts • Page 1 of 1
- Posts: 1511
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
It's only incorrect if you try to use what came from the read operation that set the eof bit (eg. you read() and you don't call gcount() and you just blindly use the buffer you read into)