
Frank Birbacher wrote:
Hi!
I have had a hard time trying to figure out why my windows port of a file transfer program would not write anything to its files. I'm using boost svn, msvc 8 express, platform sdk from msvc 2003, and windows xp (SP2).
I discovered that the file_descriptor device of the IOStreams library does not check for SetFilePointer failure as Microsoft recommands. This led to always throwing bad_seek. But the write function on the std::ostream& does neither return with the failbit set nor does it propagate the exception.
Anyway the attached patch on the boost svn should fix this problem. I added a second check for failure as the MSDN ( http://msdn.microsoft.com/library/en-us/fileio/fs/setfilepointer.asp , see "Return Value") suggests. It works for me. Here is where I started:
This looks similar to: http://svn.boost.org/trac/boost/ticket/856 If so, perhaps you can attach you patch to this bug. Is the second part of your patch related to the following bug entry? http://svn.boost.org/trac/boost/ticket/586 The bigger concern is that nobody seems to be doing any maintenance work on iostreams... (at least it seems that way to me).