6 Aug
2015
6 Aug
'15
9:20 a.m.
On 08/05/15 20:32, Iván Matellanes wrote:
@@ -1000,8 +1000,14 @@ streampos __thiscall filebuf_seekoff(filebuf *this, streamoff offset, ios_seek_d DEFINE_THISCALL_WRAPPER(filebuf_setbuf, 12) streambuf* __thiscall filebuf_setbuf(filebuf *this, char *buffer, int length) { - FIXME("(%p %p %d) stub\n", this, buffer, length); - return NULL; + streambuf *ret; + + TRACE("(%p %p %d)\n", this, buffer, length); + + streambuf_lock(&this->base); + ret = streambuf_setbuf(&this->base, buffer, length); + streambuf_unlock(&this->base); + return ret; } It doesn't look correct if buffer was already set. Probably the function needs to sync previous buffer or return error in this case.
Thanks, Piotr