[3/4] msvcirt: Add implementation of streambuf::unbuffered (resend)

Iván Matellanes matellanesivan at gmail.com
Mon Jun 8 08:57:04 CDT 2015


---
 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 7214699..a6d3749 100644
--- a/dlls/msvcirt/msvcirt.c
+++ b/dlls/msvcirt/msvcirt.c
@@ -385,6 +385,24 @@ int __thiscall streambuf_sync(streambuf *this)
     return EOF;
 }
 
+/* ?unbuffered at streambuf@@IAEXH at Z */
+/* ?unbuffered at streambuf@@IEAAXH at 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 at streambuf@@IBEHXZ */
+/* ?unbuffered at 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 9ab9adf..8a57404 100644
--- a/dlls/msvcirt/msvcirt.spec
+++ b/dlls/msvcirt/msvcirt.spec
@@ -741,10 +741,10 @@
 @ stub -arch=win64 ?tie at ios@@QEAAPEAVostream@@PEAV2@@Z
 @ stub -arch=win32 ?tie at ios@@QBEPAVostream@@XZ  # class ostream * __thiscall ios::tie(void)const 
 @ stub -arch=win64 ?tie at ios@@QEBAPEAVostream@@XZ
-@ stub -arch=win32 ?unbuffered at streambuf@@IAEXH at Z  # void __thiscall streambuf::unbuffered(int)
-@ stub -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?unbuffered at streambuf@@IBEHXZ  # int __thiscall streambuf::unbuffered(void)const 
-@ stub -arch=win64 ?unbuffered at streambuf@@IEBAHXZ
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IAEXH at Z(ptr long) streambuf_unbuffered_set
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z(ptr long) streambuf_unbuffered_set
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IBEHXZ(ptr) streambuf_unbuffered_get
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) streambuf_unbuffered_get
 @ stub -arch=win32 ?underflow at filebuf@@UAEHXZ  # virtual int __thiscall filebuf::underflow(void)
 @ stub -arch=win64 ?underflow at filebuf@@UEAAHXZ
 @ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ  # virtual int __thiscall stdiobuf::underflow(void)
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index 36dffbd..2c60964 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -730,10 +730,10 @@
 @ stub -arch=win64 ?tie at ios@@QEAAPEAVostream@@PEAV2@@Z
 @ stub -arch=win32 ?tie at ios@@QBEPAVostream@@XZ
 @ stub -arch=win64 ?tie at ios@@QEBAPEAVostream@@XZ
-@ stub -arch=win32 ?unbuffered at streambuf@@IAEXH at Z
-@ stub -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?unbuffered at streambuf@@IBEHXZ
-@ stub -arch=win64 ?unbuffered at streambuf@@IEBAHXZ
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IAEXH at Z(ptr long) msvcirt.?unbuffered at streambuf@@IAEXH at Z
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z(ptr long) msvcirt.?unbuffered at streambuf@@IEAAXH at Z
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IBEHXZ(ptr) msvcirt.?unbuffered at streambuf@@IBEHXZ
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered at streambuf@@IEBAHXZ
 @ stub -arch=win32 ?underflow at filebuf@@UAEHXZ
 @ stub -arch=win64 ?underflow at filebuf@@UEAAHXZ
 @ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index 4ae2ff4..a029b1b 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -802,10 +802,10 @@
 @ stub -arch=win64 ?tie at ios@@QEAAPEAVostream@@PEAV2@@Z
 @ stub -arch=win32 ?tie at ios@@QBEPAVostream@@XZ
 @ stub -arch=win64 ?tie at ios@@QEBAPEAVostream@@XZ
-@ stub -arch=win32 ?unbuffered at streambuf@@IAEXH at Z
-@ stub -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?unbuffered at streambuf@@IBEHXZ
-@ stub -arch=win64 ?unbuffered at streambuf@@IEBAHXZ
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IAEXH at Z(ptr long) msvcirt.?unbuffered at streambuf@@IAEXH at Z
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEAAXH at Z(ptr long) msvcirt.?unbuffered at streambuf@@IEAAXH at Z
+@ thiscall -arch=win32 ?unbuffered at streambuf@@IBEHXZ(ptr) msvcirt.?unbuffered at streambuf@@IBEHXZ
+@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered at streambuf@@IEBAHXZ
 @ stub -arch=win32 ?underflow at filebuf@@UAEHXZ
 @ stub -arch=win64 ?underflow at filebuf@@UEAAHXZ
 @ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ
-- 
2.1.4




More information about the wine-patches mailing list