From 2e880feaab1d3868eb6779621e195f4153bb628d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Matellanes?= Date: Mon, 8 Jun 2015 21:26:36 +0200 Subject: [PATCH] msvcirt: Add implementation of streambuf::unbuffered. --- dlls/msvcirt/msvcirt.c | 18 ++++++++++++++++++ dlls/msvcirt/msvcirt.spec | 8 ++++---- dlls/msvcrt20/msvcrt20.spec | 8 ++++---- dlls/msvcrt40/msvcrt40.spec | 8 ++++---- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c index 72146998a5d..a6d37496089 100644 --- a/dlls/msvcirt/msvcirt.c +++ b/dlls/msvcirt/msvcirt.c @@ -385,6 +385,24 @@ int __thiscall streambuf_sync(streambuf *this) return EOF; } +/* ?unbuffered@streambuf@@IAEXH@Z */ +/* ?unbuffered@streambuf@@IEAAXH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_unbuffered_set, 8) +void __thiscall streambuf_unbuffered_set(streambuf *this, int buf) +{ + TRACE("(%p %d)\n", this, buf); + this->unbuffered = buf; +} + +/* ?unbuffered@streambuf@@IBEHXZ */ +/* ?unbuffered@streambuf@@IEBAHXZ */ +DEFINE_THISCALL_WRAPPER(streambuf_unbuffered_get, 4) +int __thiscall streambuf_unbuffered_get(const streambuf *this) +{ + TRACE("(%p)\n", this); + return this->unbuffered; +} + /* Unexported */ DEFINE_THISCALL_WRAPPER(streambuf_underflow, 4) int __thiscall streambuf_underflow(streambuf *this) diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec index 9ab9adfd944..8a57404bb31 100644 --- a/dlls/msvcirt/msvcirt.spec +++ b/dlls/msvcirt/msvcirt.spec @@ -741,10 +741,10 @@ @ stub -arch=win64 ?tie@ios@@QEAAPEAVostream@@PEAV2@@Z @ stub -arch=win32 ?tie@ios@@QBEPAVostream@@XZ # class ostream * __thiscall ios::tie(void)const @ stub -arch=win64 ?tie@ios@@QEBAPEAVostream@@XZ -@ stub -arch=win32 ?unbuffered@streambuf@@IAEXH@Z # void __thiscall streambuf::unbuffered(int) -@ stub -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z -@ stub -arch=win32 ?unbuffered@streambuf@@IBEHXZ # int __thiscall streambuf::unbuffered(void)const -@ stub -arch=win64 ?unbuffered@streambuf@@IEBAHXZ +@ thiscall -arch=win32 ?unbuffered@streambuf@@IAEXH@Z(ptr long) streambuf_unbuffered_set +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z(ptr long) streambuf_unbuffered_set +@ thiscall -arch=win32 ?unbuffered@streambuf@@IBEHXZ(ptr) streambuf_unbuffered_get +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEBAHXZ(ptr) streambuf_unbuffered_get @ stub -arch=win32 ?underflow@filebuf@@UAEHXZ # virtual int __thiscall filebuf::underflow(void) @ stub -arch=win64 ?underflow@filebuf@@UEAAHXZ @ stub -arch=win32 ?underflow@stdiobuf@@UAEHXZ # virtual int __thiscall stdiobuf::underflow(void) diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec index 36dffbd8be8..2c609647bb4 100644 --- a/dlls/msvcrt20/msvcrt20.spec +++ b/dlls/msvcrt20/msvcrt20.spec @@ -730,10 +730,10 @@ @ stub -arch=win64 ?tie@ios@@QEAAPEAVostream@@PEAV2@@Z @ stub -arch=win32 ?tie@ios@@QBEPAVostream@@XZ @ stub -arch=win64 ?tie@ios@@QEBAPEAVostream@@XZ -@ stub -arch=win32 ?unbuffered@streambuf@@IAEXH@Z -@ stub -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z -@ stub -arch=win32 ?unbuffered@streambuf@@IBEHXZ -@ stub -arch=win64 ?unbuffered@streambuf@@IEBAHXZ +@ thiscall -arch=win32 ?unbuffered@streambuf@@IAEXH@Z(ptr long) msvcirt.?unbuffered@streambuf@@IAEXH@Z +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z(ptr long) msvcirt.?unbuffered@streambuf@@IEAAXH@Z +@ thiscall -arch=win32 ?unbuffered@streambuf@@IBEHXZ(ptr) msvcirt.?unbuffered@streambuf@@IBEHXZ +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered@streambuf@@IEBAHXZ @ stub -arch=win32 ?underflow@filebuf@@UAEHXZ @ stub -arch=win64 ?underflow@filebuf@@UEAAHXZ @ stub -arch=win32 ?underflow@stdiobuf@@UAEHXZ diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec index 4ae2ff41d3e..a029b1bec9e 100644 --- a/dlls/msvcrt40/msvcrt40.spec +++ b/dlls/msvcrt40/msvcrt40.spec @@ -802,10 +802,10 @@ @ stub -arch=win64 ?tie@ios@@QEAAPEAVostream@@PEAV2@@Z @ stub -arch=win32 ?tie@ios@@QBEPAVostream@@XZ @ stub -arch=win64 ?tie@ios@@QEBAPEAVostream@@XZ -@ stub -arch=win32 ?unbuffered@streambuf@@IAEXH@Z -@ stub -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z -@ stub -arch=win32 ?unbuffered@streambuf@@IBEHXZ -@ stub -arch=win64 ?unbuffered@streambuf@@IEBAHXZ +@ thiscall -arch=win32 ?unbuffered@streambuf@@IAEXH@Z(ptr long) msvcirt.?unbuffered@streambuf@@IAEXH@Z +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEAAXH@Z(ptr long) msvcirt.?unbuffered@streambuf@@IEAAXH@Z +@ thiscall -arch=win32 ?unbuffered@streambuf@@IBEHXZ(ptr) msvcirt.?unbuffered@streambuf@@IBEHXZ +@ cdecl -arch=win64 ?unbuffered@streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered@streambuf@@IEBAHXZ @ stub -arch=win32 ?underflow@filebuf@@UAEHXZ @ stub -arch=win64 ?underflow@filebuf@@UEAAHXZ @ stub -arch=win32 ?underflow@stdiobuf@@UAEHXZ