[2/6] msvcirt: Add a partial implementation of class ostrstream.
Iván Matellanes
matellanesivan at gmail.com
Wed Oct 19 07:00:52 CDT 2016
Signed-off-by: Iván Matellanes <matellanesivan at gmail.com>
---
dlls/msvcirt/msvcirt.c | 85 +++++++++++++++++++++++++++++++++++----------
dlls/msvcirt/msvcirt.spec | 44 +++++++++++------------
dlls/msvcrt20/msvcrt20.spec | 36 +++++++++----------
dlls/msvcrt40/msvcrt40.spec | 36 +++++++++----------
4 files changed, 125 insertions(+), 76 deletions(-)
diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c
index e9103a9..ebbe442 100644
--- a/dlls/msvcirt/msvcirt.c
+++ b/dlls/msvcirt/msvcirt.c
@@ -185,6 +185,8 @@ extern const vtable_ptr MSVCP_ios_vtable;
extern const vtable_ptr MSVCP_ostream_vtable;
/* ??_7ostream_withassign@@6B@ */
extern const vtable_ptr MSVCP_ostream_withassign_vtable;
+/* ??_7ostrstream@@6B@ */
+extern const vtable_ptr MSVCP_ostrstream_vtable;
/* ??_7istream@@6B@ */
extern const vtable_ptr MSVCP_istream_vtable;
/* ??_7istream_withassign@@6B@ */
@@ -249,6 +251,8 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(ostream_vector_dtor));
__ASM_VTABLE(ostream_withassign,
VTABLE_ADD_FUNC(ostream_vector_dtor));
+ __ASM_VTABLE(ostrstream,
+ VTABLE_ADD_FUNC(ostream_vector_dtor));
__ASM_VTABLE(istream,
VTABLE_ADD_FUNC(istream_vector_dtor));
__ASM_VTABLE(istream_withassign,
@@ -264,6 +268,7 @@ void __asm_dummy_vtables(void) {
/* ??_8ostream@@7B@ */
/* ??_8ostream_withassign@@7B@ */
+/* ??_8ostrstream@@7B@ */
const int ostream_vbtable[] = {0, VBTABLE_ENTRY(ostream, FIELD_OFFSET(ostream, vbtable), ios)};
/* ??_8istream@@7B@ */
/* ??_8istream_withassign@@7B@ */
@@ -281,6 +286,8 @@ DEFINE_RTTI_DATA0(ios, 0, ".?AVios@@")
DEFINE_RTTI_DATA1(ostream, sizeof(ostream), &ios_rtti_base_descriptor, ".?AVostream@@")
DEFINE_RTTI_DATA2(ostream_withassign, sizeof(ostream),
&ostream_rtti_base_descriptor, &ios_rtti_base_descriptor, ".?AVostream_withassign@@")
+DEFINE_RTTI_DATA2(ostrstream, sizeof(ostream),
+ &ostream_rtti_base_descriptor, &ios_rtti_base_descriptor, ".?AVostrstream@@")
DEFINE_RTTI_DATA1(istream, sizeof(istream), &ios_rtti_base_descriptor, ".?AVistream@@")
DEFINE_RTTI_DATA2(istream_withassign, sizeof(istream),
&istream_rtti_base_descriptor, &ios_rtti_base_descriptor, ".?AVistream_withassign@@")
@@ -2349,6 +2356,8 @@ ostream* __thiscall ostream_copy_ctor(ostream *this, const ostream *copy, BOOL v
/* ??1ostream@@UEAA at XZ */
/* ??1ostream_withassign@@UAE at XZ */
/* ??1ostream_withassign@@UEAA at XZ */
+/* ??1ostrstream@@UAE at XZ */
+/* ??1ostrstream@@UEAA at XZ */
DEFINE_THISCALL_WRAPPER(ostream_dtor, 4)
void __thiscall ostream_dtor(ios *base)
{
@@ -2385,6 +2394,8 @@ ostream* __thiscall ostream_assign_sb(ostream *this, streambuf *sb)
/* ??4ostream_withassign@@QEAAAEAV0 at AEBV0@@Z */
/* ??4ostream_withassign@@QAEAAVostream@@ABV1@@Z */
/* ??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z */
+/* ??4ostrstream@@QAEAAV0 at ABV0@@Z */
+/* ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z */
DEFINE_THISCALL_WRAPPER(ostream_assign, 8)
ostream* __thiscall ostream_assign(ostream *this, const ostream *rhs)
{
@@ -2395,6 +2406,8 @@ ostream* __thiscall ostream_assign(ostream *this, const ostream *rhs)
/* ??_Dostream@@QEAAXXZ */
/* ??_Dostream_withassign@@QAEXXZ */
/* ??_Dostream_withassign@@QEAAXXZ */
+/* ??_Dostrstream@@QAEXXZ */
+/* ??_Dostrstream@@QEAAXXZ */
DEFINE_THISCALL_WRAPPER(ostream_vbase_dtor, 4)
void __thiscall ostream_vbase_dtor(ostream *this)
{
@@ -2408,6 +2421,7 @@ void __thiscall ostream_vbase_dtor(ostream *this)
/* ??_Eostream@@UAEPAXI at Z */
/* ??_Eostream_withassign@@UAEPAXI at Z */
+/* ??_Eostrstream@@UAEPAXI at Z */
DEFINE_THISCALL_WRAPPER(ostream_vector_dtor, 8)
ostream* __thiscall ostream_vector_dtor(ios *base, unsigned int flags)
{
@@ -2432,6 +2446,7 @@ ostream* __thiscall ostream_vector_dtor(ios *base, unsigned int flags)
/* ??_Gostream@@UAEPAXI at Z */
/* ??_Gostream_withassign@@UAEPAXI at Z */
+/* ??_Gostrstream@@UAEPAXI at Z */
DEFINE_THISCALL_WRAPPER(ostream_scalar_dtor, 8)
ostream* __thiscall ostream_scalar_dtor(ios *base, unsigned int flags)
{
@@ -2936,6 +2951,57 @@ ostream* __thiscall ostream_withassign_ctor(ostream *this, BOOL virt_init)
return this;
}
+/* ??0ostrstream@@QAE at ABV0@@Z */
+/* ??0ostrstream@@QEAA at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(ostrstream_copy_ctor, 12)
+ostream* __thiscall ostrstream_copy_ctor(ostream *this, const ostream *copy, BOOL virt_init)
+{
+ FIXME("(%p %p %d) stub\n", this, copy, virt_init);
+ return this;
+}
+
+/* ??0ostrstream@@QAE at PADHH@Z */
+/* ??0ostrstream@@QEAA at PEADHH@Z */
+DEFINE_THISCALL_WRAPPER(ostrstream_buffer_ctor, 20)
+ostream* __thiscall ostrstream_buffer_ctor(ostream *this, char *buffer, int length, int mode, BOOL virt_init)
+{
+ FIXME("(%p %p %d %d %d) stub\n", this, buffer, length, mode, virt_init);
+ return this;
+}
+
+/* ??0ostrstream@@QAE at XZ */
+/* ??0ostrstream@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(ostrstream_ctor, 8)
+ostream* __thiscall ostrstream_ctor(ostream *this, BOOL virt_init)
+{
+ FIXME("(%p %d) stub\n", this, virt_init);
+ return this;
+}
+
+/* ?pcount at ostrstream@@QBEHXZ */
+/* ?pcount at ostrstream@@QEBAHXZ */
+DEFINE_THISCALL_WRAPPER(ostrstream_pcount, 4)
+int __thiscall ostrstream_pcount(const ostream *this)
+{
+ return streambuf_out_waiting(ostream_get_ios(this)->sb);
+}
+
+/* ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ */
+/* ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ */
+DEFINE_THISCALL_WRAPPER(ostrstream_rdbuf, 4)
+strstreambuf* __thiscall ostrstream_rdbuf(const ostream *this)
+{
+ return (strstreambuf*) ostream_get_ios(this)->sb;
+}
+
+/* ?str at ostrstream@@QAEPADXZ */
+/* ?str at ostrstream@@QEAAPEADXZ */
+DEFINE_THISCALL_WRAPPER(ostrstream_str, 4)
+char* __thiscall ostrstream_str(ostream *this)
+{
+ return strstreambuf_str(ostrstream_rdbuf(this));
+}
+
static inline ios* istream_get_ios(const istream *this)
{
return (ios*)((char*)this + this->vbtable[1]);
@@ -4132,24 +4198,6 @@ void __cdecl ios_sync_with_stdio(void)
}
}
-/******************************************************************
- * ??0ostrstream@@QAE at XZ (MSVCRTI.@)
- */
-DEFINE_THISCALL_WRAPPER(MSVCIRT_ostrstream_ctor,8)
-void * __thiscall MSVCIRT_ostrstream_ctor(ostream *this, BOOL virt_init)
-{
- FIXME("(%p %x) stub\n", this, virt_init);
- return this;
-}
-
-/******************************************************************
- * ??1ostrstream@@UAE at XZ (MSVCRTI.@)
- */
-DEFINE_THISCALL_WRAPPER(MSVCIRT_ostrstream_dtor,4)
-void __thiscall MSVCIRT_ostrstream_dtor(ios *base)
-{
- FIXME("(%p) stub\n", base);
-}
#ifdef __i386__
@@ -4210,6 +4258,7 @@ static void init_io(void *base)
init_ios_rtti(base);
init_ostream_rtti(base);
init_ostream_withassign_rtti(base);
+ init_ostrstream_rtti(base);
init_istream_rtti(base);
init_istream_withassign_rtti(base);
init_iostream_rtti(base);
diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec
index f9ed8de..5b09a3d 100644
--- a/dlls/msvcirt/msvcirt.spec
+++ b/dlls/msvcirt/msvcirt.spec
@@ -92,12 +92,12 @@
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) ostream_withassign_sb_ctor
@ thiscall -arch=win32 ??0ostream_withassign@@QAE at XZ(ptr long) ostream_withassign_ctor
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at XZ(ptr long) ostream_withassign_ctor
-@ stub -arch=win32 ??0ostrstream@@QAE at ABV0@@Z # __thiscall ostrstream::ostrstream(class ostrstream const &)
-@ stub -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0ostrstream@@QAE at PADHH@Z # __thiscall ostrstream::ostrstream(char *,int,int)
-@ 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
+@ thiscall -arch=win32 ??0ostrstream@@QAE at ABV0@@Z(ptr ptr long) ostrstream_copy_ctor
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z(ptr ptr long) ostrstream_copy_ctor
+@ thiscall -arch=win32 ??0ostrstream@@QAE at PADHH@Z(ptr ptr long long long) ostrstream_buffer_ctor
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z(ptr ptr long long long) ostrstream_buffer_ctor
+@ thiscall -arch=win32 ??0ostrstream@@QAE at XZ(ptr long) ostrstream_ctor
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at XZ(ptr long) ostrstream_ctor
@ 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
@@ -158,8 +158,8 @@
@ cdecl -arch=win64 ??1ostream@@UEAA at XZ(ptr) ostream_dtor
@ thiscall -arch=win32 ??1ostream_withassign@@UAE at XZ(ptr) ostream_dtor
@ cdecl -arch=win64 ??1ostream_withassign@@UEAA at XZ(ptr) ostream_dtor
-@ thiscall -arch=win32 ??1ostrstream@@UAE at XZ(ptr) MSVCIRT_ostrstream_dtor
-@ cdecl -arch=win64 ??1ostrstream@@UEAA at XZ(ptr) MSVCIRT_ostrstream_dtor
+@ thiscall -arch=win32 ??1ostrstream@@UAE at XZ(ptr) ostream_dtor
+@ cdecl -arch=win64 ??1ostrstream@@UEAA at XZ(ptr) ostream_dtor
@ 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)
@@ -212,8 +212,8 @@
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z(ptr ptr) ostream_assign
@ thiscall -arch=win32 ??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z(ptr ptr) ostream_assign_sb
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z(ptr ptr) ostream_assign_sb
-@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z # class ostrstream & __thiscall ostrstream::operator=(class ostrstream const &)
-@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z(ptr ptr) ostream_assign
+@ cdecl -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) ostream_assign
@ 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 &)
@@ -315,7 +315,7 @@
# @ extern ??_7ofstream@@6B@ # const ofstream::`vftable'
@ extern ??_7ostream@@6B@ MSVCP_ostream_vtable
@ extern ??_7ostream_withassign@@6B@ MSVCP_ostream_withassign_vtable
-# @ extern ??_7ostrstream@@6B@ # const ostrstream::`vftable'
+@ extern ??_7ostrstream@@6B@ MSVCP_ostrstream_vtable
@ extern ??_7stdiobuf@@6B@ MSVCP_stdiobuf_vtable
# @ extern ??_7stdiostream@@6B@ # const stdiostream::`vftable'
@ extern ??_7streambuf@@6B@ MSVCP_streambuf_vtable
@@ -332,7 +332,7 @@
# @ extern ??_8ofstream@@7B@ # const ofstream::`vbtable'
@ extern ??_8ostream@@7B@ ostream_vbtable
@ extern ??_8ostream_withassign@@7B@ ostream_vbtable
-# @ extern ??_8ostrstream@@7B@ # const ostrstream::`vbtable'
+@ extern ??_8ostrstream@@7B@ ostream_vbtable
# @ extern ??_8stdiostream@@7Bistream@@@ # const stdiostream::`vbtable'{for `istream'}
# @ extern ??_8stdiostream@@7Bostream@@@ # const stdiostream::`vbtable'{for `ostream'}
# @ extern ??_8strstream@@7Bistream@@@ # const strstream::`vbtable'{for `istream'}
@@ -355,8 +355,8 @@
@ cdecl -arch=win64 ??_Dostream@@QEAAXXZ(ptr) ostream_vbase_dtor
@ thiscall -arch=win32 ??_Dostream_withassign@@QAEXXZ(ptr) ostream_vbase_dtor
@ cdecl -arch=win64 ??_Dostream_withassign@@QEAAXXZ(ptr) ostream_vbase_dtor
-@ stub -arch=win32 ??_Dostrstream@@QAEXXZ # void __thiscall ostrstream::`vbase destructor'(void)
-@ stub -arch=win64 ??_Dostrstream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Dostrstream@@QAEXXZ(ptr) ostream_vbase_dtor
+@ cdecl -arch=win64 ??_Dostrstream@@QEAAXXZ(ptr) ostream_vbase_dtor
@ stub -arch=win32 ??_Dstdiostream@@QAEXXZ # void __thiscall stdiostream::`vbase destructor'(void)
@ stub -arch=win64 ??_Dstdiostream@@QEAAXXZ
@ stub -arch=win32 ??_Dstrstream@@QAEXXZ # void __thiscall strstream::`vbase destructor'(void)
@@ -374,7 +374,7 @@
@ stub -arch=win32 ??_Eofstream@@UAEPAXI at Z # virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Eostream@@UAEPAXI at Z(ptr long) ostream_vector_dtor
@ thiscall -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z(ptr long) ostream_vector_dtor
-@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z # virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Eostrstream@@UAEPAXI at Z(ptr long) ostream_vector_dtor
@ 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
@@ -393,7 +393,7 @@
@ stub -arch=win32 ??_Gofstream@@UAEPAXI at Z # virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Gostream@@UAEPAXI at Z(ptr long) ostream_scalar_dtor
@ thiscall -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z(ptr long) ostream_scalar_dtor
-@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z # virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Gostrstream@@UAEPAXI at Z(ptr long) ostream_scalar_dtor
@ 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
@@ -591,8 +591,8 @@
@ cdecl -arch=win64 ?pbase at streambuf@@IEBAPEADXZ(ptr) streambuf_pbase
@ thiscall -arch=win32 ?pbump at streambuf@@IAEXH at Z(ptr long) streambuf_pbump
@ cdecl -arch=win64 ?pbump at streambuf@@IEAAXH at Z(ptr long) streambuf_pbump
-@ stub -arch=win32 ?pcount at ostrstream@@QBEHXZ # int __thiscall ostrstream::pcount(void)const
-@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
+@ thiscall -arch=win32 ?pcount at ostrstream@@QBEHXZ(ptr) ostrstream_pcount
+@ cdecl -arch=win64 ?pcount at ostrstream@@QEBAHXZ(ptr) ostrstream_pcount
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ # int __thiscall strstream::pcount(void)const
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) istream_peek
@@ -623,8 +623,8 @@
@ stub -arch=win64 ?rdbuf at istrstream@@QEBAPEAVstrstreambuf@@XZ
@ stub -arch=win32 ?rdbuf at ofstream@@QBEPAVfilebuf@@XZ # class filebuf * __thiscall ofstream::rdbuf(void)const
@ stub -arch=win64 ?rdbuf at ofstream@@QEBAPEAVfilebuf@@XZ
-@ stub -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ # class strstreambuf * __thiscall ostrstream::rdbuf(void)const
-@ stub -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ
+@ thiscall -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ(ptr) ostrstream_rdbuf
+@ cdecl -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ(ptr) ostrstream_rdbuf
@ stub -arch=win32 ?rdbuf at stdiostream@@QBEPAVstdiobuf@@XZ # class stdiobuf * __thiscall stdiostream::rdbuf(void)const
@ stub -arch=win64 ?rdbuf at stdiostream@@QEBAPEAVstdiobuf@@XZ
@ stub -arch=win32 ?rdbuf at strstream@@QBEPAVstrstreambuf@@XZ # class strstreambuf * __thiscall strstream::rdbuf(void)const
@@ -714,8 +714,8 @@
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) streambuf_stossc
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ # char * __thiscall istrstream::str(void)
@ stub -arch=win64 ?str at istrstream@@QEAAPEADXZ
-@ stub -arch=win32 ?str at ostrstream@@QAEPADXZ # char * __thiscall ostrstream::str(void)
-@ stub -arch=win64 ?str at ostrstream@@QEAAPEADXZ
+@ thiscall -arch=win32 ?str at ostrstream@@QAEPADXZ(ptr) ostrstream_str
+@ cdecl -arch=win64 ?str at ostrstream@@QEAAPEADXZ(ptr) ostrstream_str
@ stub -arch=win32 ?str at strstream@@QAEPADXZ # char * __thiscall strstream::str(void)
@ stub -arch=win64 ?str at strstream@@QEAAPEADXZ
@ thiscall -arch=win32 ?str at strstreambuf@@QAEPADXZ(ptr) strstreambuf_str
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index bbc89be..237c106 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -82,10 +82,10 @@
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) msvcirt.??0ostream_withassign@@QEAA at PEAVstreambuf@@@Z
@ thiscall -arch=win32 ??0ostream_withassign@@QAE at XZ(ptr long) msvcirt.??0ostream_withassign@@QAE at XZ
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at XZ(ptr long) msvcirt.??0ostream_withassign@@QEAA at XZ
-@ stub -arch=win32 ??0ostrstream@@QAE at ABV0@@Z
-@ stub -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0ostrstream@@QAE at PADHH@Z
-@ stub -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z
+@ thiscall -arch=win32 ??0ostrstream@@QAE at ABV0@@Z(ptr ptr long) msvcirt.??0ostrstream@@QAE at ABV0@@Z
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z(ptr ptr long) msvcirt.??0ostrstream@@QEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0ostrstream@@QAE at PADHH@Z(ptr ptr long long long) msvcirt.??0ostrstream@@QAE at PADHH@Z
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z(ptr ptr long long long) msvcirt.??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
@ thiscall -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at ABV0@@Z
@@ -196,8 +196,8 @@
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z
@ thiscall -arch=win32 ??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
-@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4ostrstream@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4ostrstream@@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
@@ -297,7 +297,7 @@
# @ extern ??_7ofstream@@6B@
@ extern ??_7ostream@@6B@ msvcirt.??_7ostream@@6B@
@ extern ??_7ostream_withassign@@6B@ msvcirt.??_7ostream_withassign@@6B@
-# @ extern ??_7ostrstream@@6B@
+@ extern ??_7ostrstream@@6B@ msvcirt.??_7ostrstream@@6B@
@ extern ??_7stdiobuf@@6B@ msvcirt.??_7stdiobuf@@6B@
# @ extern ??_7stdiostream@@6B@
@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@
@@ -314,7 +314,7 @@
# @ extern ??_8ofstream@@7B@
@ extern ??_8ostream@@7B@ msvcirt.??_8ostream@@7B@
@ extern ??_8ostream_withassign@@7B@ msvcirt.??_8ostream_withassign@@7B@
-# @ extern ??_8ostrstream@@7B@
+@ extern ??_8ostrstream@@7B@ msvcirt.??_8ostrstream@@7B@
# @ extern ??_8stdiostream@@7Bistream@@@
# @ extern ??_8stdiostream@@7Bostream@@@
# @ extern ??_8strstream@@7Bistream@@@
@@ -337,8 +337,8 @@
@ cdecl -arch=win64 ??_Dostream@@QEAAXXZ(ptr) msvcirt.??_Dostream@@QEAAXXZ
@ thiscall -arch=win32 ??_Dostream_withassign@@QAEXXZ(ptr) msvcirt.??_Dostream_withassign@@QAEXXZ
@ cdecl -arch=win64 ??_Dostream_withassign@@QEAAXXZ(ptr) msvcirt.??_Dostream_withassign@@QEAAXXZ
-@ stub -arch=win32 ??_Dostrstream@@QAEXXZ
-@ stub -arch=win64 ??_Dostrstream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Dostrstream@@QAEXXZ(ptr) msvcirt.??_Dostrstream@@QAEXXZ
+@ cdecl -arch=win64 ??_Dostrstream@@QEAAXXZ(ptr) msvcirt.??_Dostrstream@@QEAAXXZ
@ stub -arch=win32 ??_Dstdiostream@@QAEXXZ
@ stub -arch=win64 ??_Dstdiostream@@QEAAXXZ
@ stub -arch=win32 ??_Dstrstream@@QAEXXZ
@@ -355,7 +355,7 @@
@ stub -arch=win32 ??_Eofstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eostream@@UAEPAXI at Z(ptr long) msvcirt.??_Eostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z(ptr long) msvcirt.??_Eostream_withassign@@UAEPAXI at Z
-@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Eostrstream@@UAEPAXI at Z(ptr long) msvcirt.??_Eostrstream@@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
@@ -373,7 +373,7 @@
@ stub -arch=win32 ??_Gofstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gostream@@UAEPAXI at Z(ptr long) msvcirt.??_Gostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z(ptr long) msvcirt.??_Gostream_withassign@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gostrstream@@UAEPAXI at Z(ptr long) msvcirt.??_Gostrstream@@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
@@ -577,8 +577,8 @@
@ cdecl -arch=win64 ?pbase at streambuf@@IEBAPEADXZ(ptr) msvcirt.?pbase at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?pbump at streambuf@@IAEXH at Z(ptr long) msvcirt.?pbump at streambuf@@IAEXH at Z
@ cdecl -arch=win64 ?pbump at streambuf@@IEAAXH at Z(ptr long) msvcirt.?pbump at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?pcount at ostrstream@@QBEHXZ
-@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
+@ thiscall -arch=win32 ?pcount at ostrstream@@QBEHXZ(ptr) msvcirt.?pcount at ostrstream@@QBEHXZ
+@ cdecl -arch=win64 ?pcount at ostrstream@@QEBAHXZ(ptr) msvcirt.?pcount at ostrstream@@QEBAHXZ
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) msvcirt.?peek at istream@@QAEHXZ
@@ -609,8 +609,8 @@
@ stub -arch=win64 ?rdbuf at istrstream@@QEBAPEAVstrstreambuf@@XZ
@ stub -arch=win32 ?rdbuf at ofstream@@QBEPAVfilebuf@@XZ
@ stub -arch=win64 ?rdbuf at ofstream@@QEBAPEAVfilebuf@@XZ
-@ stub -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ
-@ stub -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ
+@ thiscall -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ(ptr) msvcirt.?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ
+@ cdecl -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ(ptr) msvcirt.?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ
@ stub -arch=win32 ?rdbuf at stdiostream@@QBEPAVstdiobuf@@XZ
@ stub -arch=win64 ?rdbuf at stdiostream@@QEBAPEAVstdiobuf@@XZ
@ stub -arch=win32 ?rdbuf at strstream@@QBEPAVstrstreambuf@@XZ
@@ -702,8 +702,8 @@
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) msvcirt.?stossc at streambuf@@QEAAXXZ
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ
@ stub -arch=win64 ?str at istrstream@@QEAAPEADXZ
-@ stub -arch=win32 ?str at ostrstream@@QAEPADXZ
-@ stub -arch=win64 ?str at ostrstream@@QEAAPEADXZ
+@ thiscall -arch=win32 ?str at ostrstream@@QAEPADXZ(ptr) msvcirt.?str at ostrstream@@QAEPADXZ
+@ cdecl -arch=win64 ?str at ostrstream@@QEAAPEADXZ(ptr) msvcirt.?str at ostrstream@@QEAAPEADXZ
@ stub -arch=win32 ?str at strstream@@QAEPADXZ
@ stub -arch=win64 ?str at strstream@@QEAAPEADXZ
@ thiscall -arch=win32 ?str at strstreambuf@@QAEPADXZ(ptr) msvcirt.?str at strstreambuf@@QAEPADXZ
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index 07f3433..94293be 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -104,10 +104,10 @@
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) msvcirt.??0ostream_withassign@@QEAA at PEAVstreambuf@@@Z
@ thiscall -arch=win32 ??0ostream_withassign@@QAE at XZ(ptr long) msvcirt.??0ostream_withassign@@QAE at XZ
@ cdecl -arch=win64 ??0ostream_withassign@@QEAA at XZ(ptr long) msvcirt.??0ostream_withassign@@QEAA at XZ
-@ stub -arch=win32 ??0ostrstream@@QAE at ABV0@@Z
-@ stub -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z
-@ stub -arch=win32 ??0ostrstream@@QAE at PADHH@Z
-@ stub -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z
+@ thiscall -arch=win32 ??0ostrstream@@QAE at ABV0@@Z(ptr ptr long) msvcirt.??0ostrstream@@QAE at ABV0@@Z
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at AEBV0@@Z(ptr ptr long) msvcirt.??0ostrstream@@QEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0ostrstream@@QAE at PADHH@Z(ptr ptr long long long) msvcirt.??0ostrstream@@QAE at PADHH@Z
+@ cdecl -arch=win64 ??0ostrstream@@QEAA at PEADHH@Z(ptr ptr long long long) msvcirt.??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
@ thiscall -arch=win32 ??0stdiobuf@@QAE at ABV0@@Z(ptr ptr) msvcirt.??0stdiobuf@@QAE at ABV0@@Z
@@ -240,8 +240,8 @@
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QEAAAEAVostream@@AEBV1@@Z
@ thiscall -arch=win32 ??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z
@ cdecl -arch=win64 ??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z(ptr ptr) msvcirt.??4ostream_withassign@@QEAAAEAVostream@@PEAVstreambuf@@@Z
-@ stub -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4ostrstream@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4ostrstream@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4ostrstream@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4ostrstream@@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
@@ -350,7 +350,7 @@
# @ extern ??_7ofstream@@6B@
@ extern ??_7ostream@@6B@ msvcirt.??_7ostream@@6B@
@ extern ??_7ostream_withassign@@6B@ msvcirt.??_7ostream_withassign@@6B@
-# @ extern ??_7ostrstream@@6B@
+@ extern ??_7ostrstream@@6B@ msvcirt.??_7ostrstream@@6B@
@ extern ??_7stdiobuf@@6B@ msvcirt.??_7stdiobuf@@6B@
# @ extern ??_7stdiostream@@6B@
@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@
@@ -367,7 +367,7 @@
# @ extern ??_8ofstream@@7B@
@ extern ??_8ostream@@7B@ msvcirt.??_8ostream@@7B@
@ extern ??_8ostream_withassign@@7B@ msvcirt.??_8ostream_withassign@@7B@
-# @ extern ??_8ostrstream@@7B@
+@ extern ??_8ostrstream@@7B@ msvcirt.??_8ostrstream@@7B@
# @ extern ??_8stdiostream@@7Bistream@@@
# @ extern ??_8stdiostream@@7Bostream@@@
# @ extern ??_8strstream@@7Bistream@@@
@@ -390,8 +390,8 @@
@ cdecl -arch=win64 ??_Dostream@@QEAAXXZ(ptr) msvcirt.??_Dostream@@QEAAXXZ
@ thiscall -arch=win32 ??_Dostream_withassign@@QAEXXZ(ptr) msvcirt.??_Dostream_withassign@@QAEXXZ
@ cdecl -arch=win64 ??_Dostream_withassign@@QEAAXXZ(ptr) msvcirt.??_Dostream_withassign@@QEAAXXZ
-@ stub -arch=win32 ??_Dostrstream@@QAEXXZ
-@ stub -arch=win64 ??_Dostrstream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Dostrstream@@QAEXXZ(ptr) msvcirt.??_Dostrstream@@QAEXXZ
+@ cdecl -arch=win64 ??_Dostrstream@@QEAAXXZ(ptr) msvcirt.??_Dostrstream@@QEAAXXZ
@ stub -arch=win32 ??_Dstdiostream@@QAEXXZ
@ stub -arch=win64 ??_Dstdiostream@@QEAAXXZ
@ stub -arch=win32 ??_Dstrstream@@QAEXXZ
@@ -413,7 +413,7 @@
@ stub -arch=win32 ??_Eofstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eostream@@UAEPAXI at Z(ptr long) msvcirt.??_Eostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eostream_withassign@@UAEPAXI at Z(ptr long) msvcirt.??_Eostream_withassign@@UAEPAXI at Z
-@ stub -arch=win32 ??_Eostrstream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Eostrstream@@UAEPAXI at Z(ptr long) msvcirt.??_Eostrstream@@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
@@ -436,7 +436,7 @@
@ stub -arch=win32 ??_Gofstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gostream@@UAEPAXI at Z(ptr long) msvcirt.??_Gostream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gostream_withassign@@UAEPAXI at Z(ptr long) msvcirt.??_Gostream_withassign@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gostrstream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gostrstream@@UAEPAXI at Z(ptr long) msvcirt.??_Gostrstream@@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
@@ -646,8 +646,8 @@
@ cdecl -arch=win64 ?pbase at streambuf@@IEBAPEADXZ(ptr) msvcirt.?pbase at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?pbump at streambuf@@IAEXH at Z(ptr long) msvcirt.?pbump at streambuf@@IAEXH at Z
@ cdecl -arch=win64 ?pbump at streambuf@@IEAAXH at Z(ptr long) msvcirt.?pbump at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?pcount at ostrstream@@QBEHXZ
-@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
+@ thiscall -arch=win32 ?pcount at ostrstream@@QBEHXZ(ptr) msvcirt.?pcount at ostrstream@@QBEHXZ
+@ cdecl -arch=win64 ?pcount at ostrstream@@QEBAHXZ(ptr) msvcirt.?pcount at ostrstream@@QEBAHXZ
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) msvcirt.?peek at istream@@QAEHXZ
@@ -680,8 +680,8 @@
@ stub -arch=win64 ?rdbuf at istrstream@@QEBAPEAVstrstreambuf@@XZ
@ stub -arch=win32 ?rdbuf at ofstream@@QBEPAVfilebuf@@XZ
@ stub -arch=win64 ?rdbuf at ofstream@@QEBAPEAVfilebuf@@XZ
-@ stub -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ
-@ stub -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ
+@ thiscall -arch=win32 ?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ(ptr) msvcirt.?rdbuf at ostrstream@@QBEPAVstrstreambuf@@XZ
+@ cdecl -arch=win64 ?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ(ptr) msvcirt.?rdbuf at ostrstream@@QEBAPEAVstrstreambuf@@XZ
@ stub -arch=win32 ?rdbuf at stdiostream@@QBEPAVstdiobuf@@XZ
@ stub -arch=win64 ?rdbuf at stdiostream@@QEBAPEAVstdiobuf@@XZ
@ stub -arch=win32 ?rdbuf at strstream@@QBEPAVstrstreambuf@@XZ
@@ -774,8 +774,8 @@
@ cdecl -arch=win64 ?stossc at streambuf@@QEAAXXZ(ptr) msvcirt.?stossc at streambuf@@QEAAXXZ
@ stub -arch=win32 ?str at istrstream@@QAEPADXZ
@ stub -arch=win64 ?str at istrstream@@QEAAPEADXZ
-@ stub -arch=win32 ?str at ostrstream@@QAEPADXZ
-@ stub -arch=win64 ?str at ostrstream@@QEAAPEADXZ
+@ thiscall -arch=win32 ?str at ostrstream@@QAEPADXZ(ptr) msvcirt.?str at ostrstream@@QAEPADXZ
+@ cdecl -arch=win64 ?str at ostrstream@@QEAAPEADXZ(ptr) msvcirt.?str at ostrstream@@QEAAPEADXZ
@ stub -arch=win32 ?str at strstream@@QAEPADXZ
@ stub -arch=win64 ?str at strstream@@QEAAPEADXZ
@ thiscall -arch=win32 ?str at strstreambuf@@QAEPADXZ(ptr) msvcirt.?str at strstreambuf@@QAEPADXZ
--
2.7.4
More information about the wine-patches
mailing list