+ size_t oldpos = m_o_streambuf->GetIntPosition();
+ m_o_streambuf->Write(buffer, nbytes);
+ size_t newpos = m_o_streambuf->GetIntPosition();
+
+ // FIXME can someone please explain what this does? (VZ)
+ if ( !newpos )
+ newpos = m_o_streambuf->GetBufferSize();
+
+ return newpos - oldpos;