[1/9] msvcirt: Add stub of class stdiobuf
Iván Matellanes
matellanesivan at gmail.com
Fri Oct 2 08:03:19 CDT 2015
Signed-off-by: Iván Matellanes <matellanesivan at gmail.com>
---
dlls/msvcirt/msvcirt.c | 150 ++++++++++++++++++++++++++++++++++++++++++++
dlls/msvcirt/msvcirt.spec | 50 +++++++--------
dlls/msvcrt20/msvcrt20.spec | 50 +++++++--------
dlls/msvcrt40/msvcrt40.spec | 50 +++++++--------
4 files changed, 225 insertions(+), 75 deletions(-)
diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c
index 0b2fadf..cd0e7c5 100644
--- a/dlls/msvcirt/msvcirt.c
+++ b/dlls/msvcirt/msvcirt.c
@@ -117,6 +117,12 @@ typedef struct {
freeFunction f_free;
} strstreambuf;
+/* class stdiobuf */
+typedef struct {
+ streambuf base;
+ FILE *file;
+} stdiobuf;
+
/* class ios */
struct _ostream;
typedef struct {
@@ -153,6 +159,8 @@ extern const vtable_ptr MSVCP_streambuf_vtable;
extern const vtable_ptr MSVCP_filebuf_vtable;
/* ??_7strstreambuf@@6B@ */
extern const vtable_ptr MSVCP_strstreambuf_vtable;
+/* ??_7stdiobuf@@6B@ */
+extern const vtable_ptr MSVCP_stdiobuf_vtable;
/* ??_7ios@@6B@ */
extern const vtable_ptr MSVCP_ios_vtable;
@@ -195,6 +203,18 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(strstreambuf_underflow)
VTABLE_ADD_FUNC(streambuf_pbackfail)
VTABLE_ADD_FUNC(strstreambuf_doallocate));
+ __ASM_VTABLE(stdiobuf,
+ VTABLE_ADD_FUNC(stdiobuf_vector_dtor)
+ VTABLE_ADD_FUNC(stdiobuf_sync)
+ VTABLE_ADD_FUNC(streambuf_setbuf)
+ VTABLE_ADD_FUNC(stdiobuf_seekoff)
+ VTABLE_ADD_FUNC(streambuf_seekpos)
+ VTABLE_ADD_FUNC(streambuf_xsputn)
+ VTABLE_ADD_FUNC(streambuf_xsgetn)
+ VTABLE_ADD_FUNC(stdiobuf_overflow)
+ VTABLE_ADD_FUNC(stdiobuf_underflow)
+ VTABLE_ADD_FUNC(stdiobuf_pbackfail)
+ VTABLE_ADD_FUNC(streambuf_doallocate));
__ASM_VTABLE(ios,
VTABLE_ADD_FUNC(ios_vector_dtor));
#ifndef __GNUC__
@@ -204,6 +224,7 @@ void __asm_dummy_vtables(void) {
DEFINE_RTTI_DATA0(streambuf, 0, ".?AVstreambuf@@")
DEFINE_RTTI_DATA1(filebuf, 0, &streambuf_rtti_base_descriptor, ".?AVfilebuf@@")
DEFINE_RTTI_DATA1(strstreambuf, 0, &streambuf_rtti_base_descriptor, ".?AVstrstreambuf@@")
+DEFINE_RTTI_DATA1(stdiobuf, 0, &streambuf_rtti_base_descriptor, ".?AVstdiobuf@@")
DEFINE_RTTI_DATA0(ios, 0, ".?AVios@@")
/* ??0streambuf@@IAE at PADH@Z */
@@ -1434,6 +1455,134 @@ int __thiscall strstreambuf_underflow(strstreambuf *this)
return (this->base.gptr < this->base.egptr) ? *this->base.gptr : EOF;
}
+/* ??0stdiobuf@@QAE at ABV0@@Z */
+/* ??0stdiobuf@@QEAA at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_copy_ctor, 8)
+stdiobuf* __thiscall stdiobuf_copy_ctor(stdiobuf *this, const stdiobuf *copy)
+{
+ FIXME("(%p %p) stub\n", this, copy);
+ return this;
+}
+
+/* ??0stdiobuf@@QAE at PAU_iobuf@@@Z */
+/* ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_file_ctor, 8)
+stdiobuf* __thiscall stdiobuf_file_ctor(stdiobuf *this, FILE *file)
+{
+ FIXME("(%p %p) stub\n", this, file);
+ return this;
+}
+
+/* ??1stdiobuf@@UAE at XZ */
+/* ??1stdiobuf@@UEAA at XZ */
+DEFINE_THISCALL_WRAPPER(stdiobuf_dtor, 4)
+void __thiscall stdiobuf_dtor(stdiobuf *this)
+{
+ FIXME("(%p) stub\n", this);
+}
+
+/* ??4stdiobuf@@QAEAAV0 at ABV0@@Z */
+/* ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_assign, 8)
+stdiobuf* __thiscall stdiobuf_assign(stdiobuf *this, const stdiobuf *rhs)
+{
+ stdiobuf_dtor(this);
+ return stdiobuf_copy_ctor(this, rhs);
+}
+
+/* ??_Estdiobuf@@UAEPAXI at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_vector_dtor, 8)
+stdiobuf* __thiscall stdiobuf_vector_dtor(stdiobuf *this, unsigned int flags)
+{
+ TRACE("(%p %x)\n", this, flags);
+ if (flags & 2) {
+ /* we have an array, with the number of elements stored before the first object */
+ INT_PTR i, *ptr = (INT_PTR *)this-1;
+
+ for (i = *ptr-1; i >= 0; i--)
+ stdiobuf_dtor(this+i);
+ MSVCRT_operator_delete(ptr);
+ } else {
+ stdiobuf_dtor(this);
+ if (flags & 1)
+ MSVCRT_operator_delete(this);
+ }
+ return this;
+}
+
+/* ??_Gstdiobuf@@UAEPAXI at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_scalar_dtor, 8)
+stdiobuf* __thiscall stdiobuf_scalar_dtor(stdiobuf *this, unsigned int flags)
+{
+ TRACE("(%p %x)\n", this, flags);
+ stdiobuf_dtor(this);
+ if (flags & 1) MSVCRT_operator_delete(this);
+ return this;
+}
+
+/* ?overflow at stdiobuf@@UAEHH at Z */
+/* ?overflow at stdiobuf@@UEAAHH at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_overflow, 8)
+int __thiscall stdiobuf_overflow(stdiobuf *this, int c)
+{
+ FIXME("(%p %d) stub\n", this, c);
+ return EOF;
+}
+
+/* ?pbackfail at stdiobuf@@UAEHH at Z */
+/* ?pbackfail at stdiobuf@@UEAAHH at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_pbackfail, 8)
+int __thiscall stdiobuf_pbackfail(stdiobuf *this, int c)
+{
+ FIXME("(%p %d) stub\n", this, c);
+ return EOF;
+}
+
+/* ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z */
+/* ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_seekoff, 16)
+streampos __thiscall stdiobuf_seekoff(stdiobuf *this, streamoff offset, ios_seek_dir dir, int mode)
+{
+ FIXME("(%p %d %d %d) stub\n", this, offset, dir, mode);
+ return EOF;
+}
+
+/* ?setrwbuf at stdiobuf@@QAEHHH at Z */
+/* ?setrwbuf at stdiobuf@@QEAAHHH at Z */
+DEFINE_THISCALL_WRAPPER(stdiobuf_setrwbuf, 12)
+int __thiscall stdiobuf_setrwbuf(stdiobuf *this, int read_size, int write_size)
+{
+ FIXME("(%p %d %d) stub\n", this, read_size, write_size);
+ return EOF;
+}
+
+/* ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ */
+/* ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ */
+DEFINE_THISCALL_WRAPPER(stdiobuf_stdiofile, 4)
+FILE* __thiscall stdiobuf_stdiofile(stdiobuf *this)
+{
+ FIXME("(%p) stub\n", this);
+ return NULL;
+}
+
+/* ?sync at stdiobuf@@UAEHXZ */
+/* ?sync at stdiobuf@@UEAAHXZ */
+DEFINE_THISCALL_WRAPPER(stdiobuf_sync, 4)
+int __thiscall stdiobuf_sync(stdiobuf *this)
+{
+ FIXME("(%p) stub\n", this);
+ return EOF;
+}
+
+/* ?underflow at stdiobuf@@UAEHXZ */
+/* ?underflow at stdiobuf@@UEAAHXZ */
+DEFINE_THISCALL_WRAPPER(stdiobuf_underflow, 4)
+int __thiscall stdiobuf_underflow(stdiobuf *this)
+{
+ FIXME("(%p) stub\n", this);
+ return EOF;
+}
+
/* ??0ios@@IAE at ABV0@@Z */
/* ??0ios@@IEAA at AEBV0@@Z */
DEFINE_THISCALL_WRAPPER(ios_copy_ctor, 8)
@@ -2098,6 +2247,7 @@ static void init_io(void *base)
init_streambuf_rtti(base);
init_filebuf_rtti(base);
init_strstreambuf_rtti(base);
+ init_stdiobuf_rtti(base);
init_ios_rtti(base);
#endif
}
diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec
index 4b448ba..0326672 100644
--- a/dlls/msvcirt/msvcirt.spec
+++ b/dlls/msvcirt/msvcirt.spec
@@ -98,10 +98,10 @@
@ stub -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z
@ thiscall -arch=win32 ??0ostrstream@@QAE at XZ(ptr long) MSVCIRT_ostrstream_ctor
@ cdecl -arch=win64 ??0ostrstream@@QEAA at XZ(ptr long) MSVCIRT_ostrstream_ctor
-@ stub -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z # __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
-@ stub -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z # __thiscall stdiobuf::stdiobuf(struct _iobuf *)
-@ stub -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z(ptr ptr) stdiobuf_copy_ctor
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z(ptr ptr) stdiobuf_copy_ctor
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z(ptr ptr) stdiobuf_file_ctor
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z(ptr ptr) stdiobuf_file_ctor
@ stub -arch=win32 ??0stdiostream@@QAE at ABV0@@Z # __thiscall stdiostream::stdiostream(class stdiostream const &)
@ stub -arch=win64 ??0stdiostream@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0stdiostream@@QAE at PAU_iobuf@@@Z # __thiscall stdiostream::stdiostream(struct _iobuf *)
@@ -160,8 +160,8 @@
@ stub -arch=win64 ??1ostream_withassign@@UEAA at XZ
@ thiscall -arch=win32 ??1ostrstream@@UAE at XZ(ptr) MSVCIRT_ostrstream_dtor
@ cdecl -arch=win64 ??1ostrstream@@UEAA at XZ(ptr) MSVCIRT_ostrstream_dtor
-@ stub -arch=win32 ??1stdiobuf@@UAE at XZ # virtual __thiscall stdiobuf::~stdiobuf(void)
-@ stub -arch=win64 ??1stdiobuf@@UEAA at XZ
+@ thiscall -arch=win32 ??1stdiobuf@@UAE at XZ(ptr) stdiobuf_dtor
+@ cdecl -arch=win64 ??1stdiobuf@@UEAA at XZ(ptr) stdiobuf_dtor
@ stub -arch=win32 ??1stdiostream@@UAE at XZ # virtual __thiscall stdiostream::~stdiostream(void)
@ stub -arch=win64 ??1stdiostream@@UEAA at XZ
@ thiscall -arch=win32 ??1streambuf@@UAE at XZ(ptr) streambuf_dtor
@@ -214,8 +214,8 @@
@ stub -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z # class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z # class stdiobuf & __thiscall stdiobuf::operator=(class stdiobuf const &)
-@ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z(ptr ptr) stdiobuf_assign
+@ cdecl -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) stdiobuf_assign
@ stub -arch=win32 ??4stdiostream@@QAEAAV0 at AAV0@@Z # class stdiostream & __thiscall stdiostream::operator=(class stdiostream &)
@ stub -arch=win64 ??4stdiostream@@QEAAAEAV0 at AEAV0@@Z
@ thiscall -arch=win32 ??4streambuf@@QAEAAV0 at ABV0@@Z(ptr ptr) streambuf_assign
@@ -316,7 +316,7 @@
# @ extern ??_7ostream@@6B@ # const ostream::`vftable'
# @ extern ??_7ostream_withassign@@6B@ # const ostream_withassign::`vftable'
# @ extern ??_7ostrstream@@6B@ # const ostrstream::`vftable'
-# @ extern ??_7stdiobuf@@6B@ # const stdiobuf::`vftable'
+@ extern ??_7stdiobuf@@6B@ MSVCP_stdiobuf_vtable
# @ extern ??_7stdiostream@@6B@ # const stdiostream::`vftable'
@ extern ??_7streambuf@@6B@ MSVCP_streambuf_vtable
# @ extern ??_7strstream@@6B@ # const strstream::`vftable'
@@ -375,7 +375,7 @@
@ stub -arch=win32 ??_Eostream@@UAEPAXI at Z # virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z # virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z # virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
-@ stub -arch=win32 ??_Estdiobuf@@UAEPAXI at Z # virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Estdiobuf@@UAEPAXI at Z(ptr long) stdiobuf_vector_dtor
@ stub -arch=win32 ??_Estdiostream@@UAEPAXI at Z # virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI at Z(ptr long) streambuf_vector_dtor
@ stub -arch=win32 ??_Estrstream@@UAEPAXI at Z # virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
@@ -394,7 +394,7 @@
@ stub -arch=win32 ??_Gostream@@UAEPAXI at Z # virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z # virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z # virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
-@ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z # virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z(ptr long) stdiobuf_scalar_dtor
@ stub -arch=win32 ??_Gstdiostream@@UAEPAXI at Z # virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI at Z(ptr long) streambuf_scalar_dtor
@ stub -arch=win32 ??_Gstrstream@@UAEPAXI at Z # virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int)
@@ -579,12 +579,12 @@
@ cdecl -arch=win64 ?out_waiting at streambuf@@QEBAHXZ(ptr) streambuf_out_waiting
@ thiscall -arch=win32 ?overflow at filebuf@@UAEHH at Z(ptr long) filebuf_overflow
@ cdecl -arch=win64 ?overflow at filebuf@@UEAAHH at Z(ptr long) filebuf_overflow
-@ stub -arch=win32 ?overflow at stdiobuf@@UAEHH at Z # virtual int __thiscall stdiobuf::overflow(int)
-@ stub -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?overflow at stdiobuf@@UAEHH at Z(ptr long) stdiobuf_overflow
+@ cdecl -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z(ptr long) stdiobuf_overflow
@ thiscall -arch=win32 ?overflow at strstreambuf@@UAEHH at Z(ptr long) strstreambuf_overflow
@ cdecl -arch=win64 ?overflow at strstreambuf@@UEAAHH at Z(ptr long) strstreambuf_overflow
-@ stub -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z # virtual int __thiscall stdiobuf::pbackfail(int)
-@ stub -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z(ptr long) stdiobuf_pbackfail
+@ cdecl -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z(ptr long) stdiobuf_pbackfail
@ thiscall -arch=win32 ?pbackfail at streambuf@@UAEHH at Z(ptr long) streambuf_pbackfail
@ cdecl -arch=win64 ?pbackfail at streambuf@@UEAAHH at Z(ptr long) streambuf_pbackfail
@ thiscall -arch=win32 ?pbase at streambuf@@IBEPADXZ(ptr) streambuf_pbase
@@ -645,8 +645,8 @@
@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) filebuf_seekoff
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) filebuf_seekoff
-@ stub -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z # virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
-@ stub -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z
+@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) stdiobuf_seekoff
+@ cdecl -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) stdiobuf_seekoff
@ thiscall -arch=win32 ?seekoff at streambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) streambuf_seekoff
@ cdecl -arch=win64 ?seekoff at streambuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) streambuf_seekoff
@ thiscall -arch=win32 ?seekoff at strstreambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) strstreambuf_seekoff
@@ -691,8 +691,8 @@
@ stub -arch=win64 ?setmode at ofstream@@QEAAHH at Z
@ thiscall -arch=win32 ?setp at streambuf@@IAEXPAD0 at Z(ptr ptr ptr) streambuf_setp
@ cdecl -arch=win64 ?setp at streambuf@@IEAAXPEAD0 at Z(ptr ptr ptr) streambuf_setp
-@ stub -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z # int __thiscall stdiobuf::setrwbuf(int,int)
-@ stub -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z
+@ thiscall -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z(ptr long long) stdiobuf_setrwbuf
+@ cdecl -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z(ptr long long) stdiobuf_setrwbuf
@ thiscall -arch=win32 ?sgetc at streambuf@@QAEHXZ(ptr) streambuf_sgetc
@ cdecl -arch=win64 ?sgetc at streambuf@@QEAAHXZ(ptr) streambuf_sgetc
@ thiscall -arch=win32 ?sgetn at streambuf@@QAEHPADH at Z(ptr ptr long) streambuf_sgetn
@@ -708,8 +708,8 @@
@ cdecl -arch=win64 ?sputc at streambuf@@QEAAHH at Z(ptr long) streambuf_sputc
@ thiscall -arch=win32 ?sputn at streambuf@@QAEHPBDH at Z(ptr str long) streambuf_sputn
@ cdecl -arch=win64 ?sputn at streambuf@@QEAAHPEBDH at Z(ptr str long) streambuf_sputn
-@ stub -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ # struct _iobuf * __thiscall stdiobuf::stdiofile(void)
-@ stub -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ
+@ thiscall -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ(ptr) stdiobuf_stdiofile
+@ cdecl -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ(ptr) stdiobuf_stdiofile
@ thiscall -arch=win32 ?stossc at streambuf@@QAEXXZ(ptr) streambuf_stossc
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) streambuf_stossc
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ # char * __thiscall istrstream::str(void)
@@ -725,8 +725,8 @@
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) filebuf_sync
@ stub -arch=win32 ?sync at istream@@QAEHXZ # int __thiscall istream::sync(void)
@ stub -arch=win64 ?sync at istream@@QEAAHXZ
-@ stub -arch=win32 ?sync at stdiobuf@@UAEHXZ # virtual int __thiscall stdiobuf::sync(void)
-@ stub -arch=win64 ?sync at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) stdiobuf_sync
+@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) stdiobuf_sync
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) streambuf_sync
@ cdecl -arch=win64 ?sync at streambuf@@UEAAHXZ(ptr) streambuf_sync
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) strstreambuf_sync
@@ -747,8 +747,8 @@
@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) streambuf_unbuffered_get
@ thiscall -arch=win32 ?underflow at filebuf@@UAEHXZ(ptr) filebuf_underflow
@ cdecl -arch=win64 ?underflow at filebuf@@UEAAHXZ(ptr) filebuf_underflow
-@ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ # virtual int __thiscall stdiobuf::underflow(void)
-@ stub -arch=win64 ?underflow at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?underflow at stdiobuf@@UAEHXZ(ptr) stdiobuf_underflow
+@ cdecl -arch=win64 ?underflow at stdiobuf@@UEAAHXZ(ptr) stdiobuf_underflow
@ thiscall -arch=win32 ?underflow at strstreambuf@@UAEHXZ(ptr) strstreambuf_underflow
@ cdecl -arch=win64 ?underflow at strstreambuf@@UEAAHXZ(ptr) strstreambuf_underflow
@ cdecl -arch=win32 ?unlock at ios@@QAAXXZ(ptr) ios_unlock
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index 53ef34c..368e8a1 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -88,10 +88,10 @@
@ stub -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z
@ thiscall -arch=win32 ??0ostrstream@@QAE at XZ(ptr long) msvcirt.??0ostrstream@@QAE at XZ
@ cdecl -arch=win64 ??0ostrstream@@QEAA at XZ(ptr long) msvcirt.??0ostrstream@@QEAA at XZ
-@ stub -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z
-@ stub -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z
-@ stub -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at ABV0@@Z
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at PAU_iobuf@@@Z
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z(ptr ptr) msvcirt.??0stdiobuf@@QEAA at PEAU_iobuf@@@Z
@ stub -arch=win32 ??0stdiostream@@QAE at ABV0@@Z
@ stub -arch=win64 ??0stdiostream@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0stdiostream@@QAE at PAU_iobuf@@@Z
@@ -144,8 +144,8 @@
@ stub -arch=win64 ??1ostream_withassign@@UEAA at XZ
@ thiscall -arch=win32 ??1ostrstream@@UAE at XZ(ptr) msvcirt.??1ostrstream@@UAE at XZ
@ cdecl -arch=win64 ??1ostrstream@@UEAA at XZ(ptr) msvcirt.??1ostrstream@@UEAA at XZ
-@ stub -arch=win32 ??1stdiobuf@@UAE at XZ
-@ stub -arch=win64 ??1stdiobuf@@UEAA at XZ
+@ thiscall -arch=win32 ??1stdiobuf@@UAE at XZ(ptr) msvcirt.??1stdiobuf@@UAE at XZ
+@ cdecl -arch=win64 ??1stdiobuf@@UEAA at XZ(ptr) msvcirt.??1stdiobuf@@UEAA at XZ
@ stub -arch=win32 ??1stdiostream@@UAE at XZ
@ stub -arch=win64 ??1stdiostream@@UEAA at XZ
@ thiscall -arch=win32 ??1streambuf@@UAE at XZ(ptr) msvcirt.??1streambuf@@UAE at XZ
@@ -198,8 +198,8 @@
@ stub -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z
@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4stdiobuf@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4stdiostream@@QAEAAV0 at AAV0@@Z
@ stub -arch=win64 ??4stdiostream@@QEAAAEAV0 at AEAV0@@Z
@ thiscall -arch=win32 ??4streambuf@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4streambuf@@QAEAAV0 at ABV0@@Z
@@ -298,7 +298,7 @@
# @ extern ??_7ostream@@6B@
# @ extern ??_7ostream_withassign@@6B@
# @ extern ??_7ostrstream@@6B@
-# @ extern ??_7stdiobuf@@6B@
+@ extern ??_7stdiobuf@@6B@ msvcirt.??_7stdiobuf@@6B@
# @ extern ??_7stdiostream@@6B@
@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@
# @ extern ??_7strstream@@6B@
@@ -356,7 +356,7 @@
@ stub -arch=win32 ??_Eostream@@UAEPAXI at Z
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Estdiobuf@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Estdiobuf@@UAEPAXI at Z(ptr long) msvcirt.??_Estdiobuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Estdiostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI at Z(ptr long) msvcirt.??_Estreambuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Estrstream@@UAEPAXI at Z
@@ -374,7 +374,7 @@
@ stub -arch=win32 ??_Gostream@@UAEPAXI at Z
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z(ptr long) msvcirt.??_Gstdiobuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Gstdiostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI at Z(ptr long) msvcirt.??_Gstreambuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Gstrstream@@UAEPAXI at Z
@@ -565,12 +565,12 @@
@ cdecl -arch=win64 ?out_waiting at streambuf@@QEBAHXZ(ptr) msvcirt.?out_waiting at streambuf@@QEBAHXZ
@ thiscall -arch=win32 ?overflow at filebuf@@UAEHH at Z(ptr long) msvcirt.?overflow at filebuf@@UAEHH at Z
@ cdecl -arch=win64 ?overflow at filebuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at filebuf@@UEAAHH at Z
-@ stub -arch=win32 ?overflow at stdiobuf@@UAEHH at Z
-@ stub -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?overflow at stdiobuf@@UAEHH at Z(ptr long) msvcirt.?overflow at stdiobuf@@UAEHH at Z
+@ cdecl -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at stdiobuf@@UEAAHH at Z
@ thiscall -arch=win32 ?overflow at strstreambuf@@UAEHH at Z(ptr long) msvcirt.?overflow at strstreambuf@@UAEHH at Z
@ cdecl -arch=win64 ?overflow at strstreambuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at strstreambuf@@UEAAHH at Z
-@ stub -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z
-@ stub -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z(ptr long) msvcirt.?pbackfail at stdiobuf@@UAEHH at Z
+@ cdecl -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z(ptr long) msvcirt.?pbackfail at stdiobuf@@UEAAHH at Z
@ thiscall -arch=win32 ?pbackfail at streambuf@@UAEHH at Z(ptr long) msvcirt.?pbackfail at streambuf@@UAEHH at Z
@ cdecl -arch=win64 ?pbackfail at streambuf@@UEAAHH at Z(ptr long) msvcirt.?pbackfail at streambuf@@UEAAHH at Z
@ thiscall -arch=win32 ?pbase at streambuf@@IBEPADXZ(ptr) msvcirt.?pbase at streambuf@@IBEPADXZ
@@ -631,8 +631,8 @@
@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z
-@ stub -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
-@ stub -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z
+@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
+@ cdecl -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at streambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at streambuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at streambuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at streambuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at strstreambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at strstreambuf@@UAEJJW4seek_dir at ios@@H at Z
@@ -679,8 +679,8 @@
@ stub -arch=win64 ?setmode at ofstream@@QEAAHH at Z
@ thiscall -arch=win32 ?setp at streambuf@@IAEXPAD0 at Z(ptr ptr ptr) msvcirt.?setp at streambuf@@IAEXPAD0 at Z
@ cdecl -arch=win64 ?setp at streambuf@@IEAAXPEAD0 at Z(ptr ptr ptr) msvcirt.?setp at streambuf@@IEAAXPEAD0 at Z
-@ stub -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z
-@ stub -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z
+@ thiscall -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z(ptr long long) msvcirt.?setrwbuf at stdiobuf@@QAEHHH at Z
+@ cdecl -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z(ptr long long) msvcirt.?setrwbuf at stdiobuf@@QEAAHHH at Z
@ thiscall -arch=win32 ?sgetc at streambuf@@QAEHXZ(ptr) msvcirt.?sgetc at streambuf@@QAEHXZ
@ cdecl -arch=win64 ?sgetc at streambuf@@QEAAHXZ(ptr) msvcirt.?sgetc at streambuf@@QEAAHXZ
@ thiscall -arch=win32 ?sgetn at streambuf@@QAEHPADH at Z(ptr ptr long) msvcirt.?sgetn at streambuf@@QAEHPADH at Z
@@ -696,8 +696,8 @@
@ cdecl -arch=win64 ?sputc at streambuf@@QEAAHH at Z(ptr long) msvcirt.?sputc at streambuf@@QEAAHH at Z
@ thiscall -arch=win32 ?sputn at streambuf@@QAEHPBDH at Z(ptr str long) msvcirt.?sputn at streambuf@@QAEHPBDH at Z
@ cdecl -arch=win64 ?sputn at streambuf@@QEAAHPEBDH at Z(ptr str long) msvcirt.?sputn at streambuf@@QEAAHPEBDH at Z
-@ stub -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ
-@ stub -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ
+@ thiscall -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ(ptr) msvcirt.?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ
+@ cdecl -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ(ptr) msvcirt.?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ
@ thiscall -arch=win32 ?stossc at streambuf@@QAEXXZ(ptr) msvcirt.?stossc at streambuf@@QAEXXZ
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) msvcirt.?stossc at streambuf@@QEAAXXZ
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ
@@ -713,8 +713,8 @@
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) msvcirt.?sync at filebuf@@UEAAHXZ
@ stub -arch=win32 ?sync at istream@@QAEHXZ
@ stub -arch=win64 ?sync at istream@@QEAAHXZ
-@ stub -arch=win32 ?sync at stdiobuf@@UAEHXZ
-@ stub -arch=win64 ?sync at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) msvcirt.?sync at stdiobuf@@UAEHXZ
+@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) msvcirt.?sync at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) msvcirt.?sync at streambuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at streambuf@@UEAAHXZ(ptr) msvcirt.?sync at streambuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) msvcirt.?sync at strstreambuf@@UAEHXZ
@@ -736,8 +736,8 @@
@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered at streambuf@@IEBAHXZ
@ thiscall -arch=win32 ?underflow at filebuf@@UAEHXZ(ptr) msvcirt.?underflow at filebuf@@UAEHXZ
@ cdecl -arch=win64 ?underflow at filebuf@@UEAAHXZ(ptr) msvcirt.?underflow at filebuf@@UEAAHXZ
-@ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ
-@ stub -arch=win64 ?underflow at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?underflow at stdiobuf@@UAEHXZ(ptr) msvcirt.?underflow at stdiobuf@@UAEHXZ
+@ cdecl -arch=win64 ?underflow at stdiobuf@@UEAAHXZ(ptr) msvcirt.?underflow at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?underflow at strstreambuf@@UAEHXZ(ptr) msvcirt.?underflow at strstreambuf@@UAEHXZ
@ cdecl -arch=win64 ?underflow at strstreambuf@@UEAAHXZ(ptr) msvcirt.?underflow at strstreambuf@@UEAAHXZ
@ cdecl ?unexpected@@YAXXZ() msvcrt.?unexpected@@YAXXZ
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index 4a220ba..828165c 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -110,10 +110,10 @@
@ stub -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z
@ thiscall -arch=win32 ??0ostrstream@@QAE at XZ(ptr long) msvcirt.??0ostrstream@@QAE at XZ
@ cdecl -arch=win64 ??0ostrstream@@QEAA at XZ(ptr long) msvcirt.??0ostrstream@@QEAA at XZ
-@ stub -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z
-@ stub -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z
-@ stub -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at ABV0@@Z
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at AEBV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0stdiobuf@@QAE at PAU_iobuf@@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at PAU_iobuf@@@Z
+@ cdecl -arch=win64 ??0stdiobuf@@QEAA at PEAU_iobuf@@@Z(ptr ptr) msvcirt.??0stdiobuf@@QEAA at PEAU_iobuf@@@Z
@ stub -arch=win32 ??0stdiostream@@QAE at ABV0@@Z
@ stub -arch=win64 ??0stdiostream@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0stdiostream@@QAE at PAU_iobuf@@@Z
@@ -176,8 +176,8 @@
@ stub -arch=win64 ??1ostream_withassign@@UEAA at XZ
@ thiscall -arch=win32 ??1ostrstream@@UAE at XZ(ptr) msvcirt.??1ostrstream@@UAE at XZ
@ cdecl -arch=win64 ??1ostrstream@@UEAA at XZ(ptr) msvcirt.??1ostrstream@@UEAA at XZ
-@ stub -arch=win32 ??1stdiobuf@@UAE at XZ
-@ stub -arch=win64 ??1stdiobuf@@UEAA at XZ
+@ thiscall -arch=win32 ??1stdiobuf@@UAE at XZ(ptr) msvcirt.??1stdiobuf@@UAE at XZ
+@ cdecl -arch=win64 ??1stdiobuf@@UEAA at XZ(ptr) msvcirt.??1stdiobuf@@UEAA at XZ
@ stub -arch=win32 ??1stdiostream@@UAE at XZ
@ stub -arch=win64 ??1stdiostream@@UEAA at XZ
@ thiscall -arch=win32 ??1streambuf@@UAE at XZ(ptr) msvcirt.??1streambuf@@UAE at XZ
@@ -242,8 +242,8 @@
@ stub -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z
@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4stdiobuf@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4stdiobuf@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4stdiobuf@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4stdiostream@@QAEAAV0 at AAV0@@Z
@ stub -arch=win64 ??4stdiostream@@QEAAAEAV0 at AEAV0@@Z
@ thiscall -arch=win32 ??4streambuf@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4streambuf@@QAEAAV0 at ABV0@@Z
@@ -351,7 +351,7 @@
# @ extern ??_7ostream@@6B@
# @ extern ??_7ostream_withassign@@6B@
# @ extern ??_7ostrstream@@6B@
-# @ extern ??_7stdiobuf@@6B@
+@ extern ??_7stdiobuf@@6B@ msvcirt.??_7stdiobuf@@6B@
# @ extern ??_7stdiostream@@6B@
@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@
# @ extern ??_7strstream@@6B@
@@ -414,7 +414,7 @@
@ stub -arch=win32 ??_Eostream@@UAEPAXI at Z
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Estdiobuf@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Estdiobuf@@UAEPAXI at Z(ptr long) msvcirt.??_Estdiobuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Estdiostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI at Z(ptr long) msvcirt.??_Estreambuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Estrstream@@UAEPAXI at Z
@@ -437,7 +437,7 @@
@ stub -arch=win32 ??_Gostream@@UAEPAXI at Z
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gstdiobuf@@UAEPAXI at Z(ptr long) msvcirt.??_Gstdiobuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Gstdiostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI at Z(ptr long) msvcirt.??_Gstreambuf@@UAEPAXI at Z
@ stub -arch=win32 ??_Gstrstream@@UAEPAXI at Z
@@ -634,12 +634,12 @@
@ cdecl -arch=win64 ?out_waiting at streambuf@@QEBAHXZ(ptr) msvcirt.?out_waiting at streambuf@@QEBAHXZ
@ thiscall -arch=win32 ?overflow at filebuf@@UAEHH at Z(ptr long) msvcirt.?overflow at filebuf@@UAEHH at Z
@ cdecl -arch=win64 ?overflow at filebuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at filebuf@@UEAAHH at Z
-@ stub -arch=win32 ?overflow at stdiobuf@@UAEHH at Z
-@ stub -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?overflow at stdiobuf@@UAEHH at Z(ptr long) msvcirt.?overflow at stdiobuf@@UAEHH at Z
+@ cdecl -arch=win64 ?overflow at stdiobuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at stdiobuf@@UEAAHH at Z
@ thiscall -arch=win32 ?overflow at strstreambuf@@UAEHH at Z(ptr long) msvcirt.?overflow at strstreambuf@@UAEHH at Z
@ cdecl -arch=win64 ?overflow at strstreambuf@@UEAAHH at Z(ptr long) msvcirt.?overflow at strstreambuf@@UEAAHH at Z
-@ stub -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z
-@ stub -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z
+@ thiscall -arch=win32 ?pbackfail at stdiobuf@@UAEHH at Z(ptr long) msvcirt.?pbackfail at stdiobuf@@UAEHH at Z
+@ cdecl -arch=win64 ?pbackfail at stdiobuf@@UEAAHH at Z(ptr long) msvcirt.?pbackfail at stdiobuf@@UEAAHH at Z
@ thiscall -arch=win32 ?pbackfail at streambuf@@UAEHH at Z(ptr long) msvcirt.?pbackfail at streambuf@@UAEHH at Z
@ cdecl -arch=win64 ?pbackfail at streambuf@@UEAAHH at Z(ptr long) msvcirt.?pbackfail at streambuf@@UEAAHH at Z
@ thiscall -arch=win32 ?pbase at streambuf@@IBEPADXZ(ptr) msvcirt.?pbase at streambuf@@IBEPADXZ
@@ -702,8 +702,8 @@
@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z
-@ stub -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
-@ stub -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z
+@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
+@ cdecl -arch=win64 ?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at streambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at streambuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at streambuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at streambuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at strstreambuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at strstreambuf@@UAEJJW4seek_dir at ios@@H at Z
@@ -751,8 +751,8 @@
@ stub -arch=win64 ?setmode at ofstream@@QEAAHH at Z
@ thiscall -arch=win32 ?setp at streambuf@@IAEXPAD0 at Z(ptr ptr ptr) msvcirt.?setp at streambuf@@IAEXPAD0 at Z
@ cdecl -arch=win64 ?setp at streambuf@@IEAAXPEAD0 at Z(ptr ptr ptr) msvcirt.?setp at streambuf@@IEAAXPEAD0 at Z
-@ stub -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z
-@ stub -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z
+@ thiscall -arch=win32 ?setrwbuf at stdiobuf@@QAEHHH at Z(ptr long long) msvcirt.?setrwbuf at stdiobuf@@QAEHHH at Z
+@ cdecl -arch=win64 ?setrwbuf at stdiobuf@@QEAAHHH at Z(ptr long long) msvcirt.?setrwbuf at stdiobuf@@QEAAHHH at Z
@ thiscall -arch=win32 ?sgetc at streambuf@@QAEHXZ(ptr) msvcirt.?sgetc at streambuf@@QAEHXZ
@ cdecl -arch=win64 ?sgetc at streambuf@@QEAAHXZ(ptr) msvcirt.?sgetc at streambuf@@QEAAHXZ
@ thiscall -arch=win32 ?sgetn at streambuf@@QAEHPADH at Z(ptr ptr long) msvcirt.?sgetn at streambuf@@QAEHPADH at Z
@@ -768,8 +768,8 @@
@ cdecl -arch=win64 ?sputc at streambuf@@QEAAHH at Z(ptr long) msvcirt.?sputc at streambuf@@QEAAHH at Z
@ thiscall -arch=win32 ?sputn at streambuf@@QAEHPBDH at Z(ptr str long) msvcirt.?sputn at streambuf@@QAEHPBDH at Z
@ cdecl -arch=win64 ?sputn at streambuf@@QEAAHPEBDH at Z(ptr str long) msvcirt.?sputn at streambuf@@QEAAHPEBDH at Z
-@ stub -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ
-@ stub -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ
+@ thiscall -arch=win32 ?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ(ptr) msvcirt.?stdiofile at stdiobuf@@QAEPAU_iobuf@@XZ
+@ cdecl -arch=win64 ?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ(ptr) msvcirt.?stdiofile at stdiobuf@@QEAAPEAU_iobuf@@XZ
@ thiscall -arch=win32 ?stossc at streambuf@@QAEXXZ(ptr) msvcirt.?stossc at streambuf@@QAEXXZ
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) msvcirt.?stossc at streambuf@@QEAAXXZ
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ
@@ -785,8 +785,8 @@
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) msvcirt.?sync at filebuf@@UEAAHXZ
@ stub -arch=win32 ?sync at istream@@QAEHXZ
@ stub -arch=win64 ?sync at istream@@QEAAHXZ
-@ stub -arch=win32 ?sync at stdiobuf@@UAEHXZ
-@ stub -arch=win64 ?sync at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) msvcirt.?sync at stdiobuf@@UAEHXZ
+@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) msvcirt.?sync at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) msvcirt.?sync at streambuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at streambuf@@UEAAHXZ(ptr) msvcirt.?sync at streambuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) msvcirt.?sync at strstreambuf@@UAEHXZ
@@ -808,8 +808,8 @@
@ cdecl -arch=win64 ?unbuffered at streambuf@@IEBAHXZ(ptr) msvcirt.?unbuffered at streambuf@@IEBAHXZ
@ thiscall -arch=win32 ?underflow at filebuf@@UAEHXZ(ptr) msvcirt.?underflow at filebuf@@UAEHXZ
@ cdecl -arch=win64 ?underflow at filebuf@@UEAAHXZ(ptr) msvcirt.?underflow at filebuf@@UEAAHXZ
-@ stub -arch=win32 ?underflow at stdiobuf@@UAEHXZ
-@ stub -arch=win64 ?underflow at stdiobuf@@UEAAHXZ
+@ thiscall -arch=win32 ?underflow at stdiobuf@@UAEHXZ(ptr) msvcirt.?underflow at stdiobuf@@UAEHXZ
+@ cdecl -arch=win64 ?underflow at stdiobuf@@UEAAHXZ(ptr) msvcirt.?underflow at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?underflow at strstreambuf@@UAEHXZ(ptr) msvcirt.?underflow at strstreambuf@@UAEHXZ
@ cdecl -arch=win64 ?underflow at strstreambuf@@UEAAHXZ(ptr) msvcirt.?underflow at strstreambuf@@UEAAHXZ
@ cdecl ?unexpected@@YAXXZ() msvcrt.?unexpected@@YAXXZ
--
2.1.4
More information about the wine-patches
mailing list