[1/4] msvcirt: Add a partial implementation of class Iostream_init.
Iván Matellanes
matellanesivan at gmail.com
Wed Aug 17 05:57:36 CDT 2016
Signed-off-by: Iván Matellanes <matellanesivan at gmail.com>
---
dlls/msvcirt/msvcirt.c | 35 +++++++++++++++++++++++++++++++++++
dlls/msvcirt/msvcirt.spec | 16 ++++++++--------
dlls/msvcrt20/msvcrt20.spec | 16 ++++++++--------
dlls/msvcrt40/msvcrt40.spec | 16 ++++++++--------
4 files changed, 59 insertions(+), 24 deletions(-)
diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c
index fd721b5..6cc8f1c 100644
--- a/dlls/msvcirt/msvcirt.c
+++ b/dlls/msvcirt/msvcirt.c
@@ -4032,6 +4032,41 @@ iostream* __thiscall iostream_scalar_dtor(ios *base, unsigned int flags)
return this;
}
+/* ??0Iostream_init@@QAE at AAVios@@H at Z */
+/* ??0Iostream_init@@QEAA at AEAVios@@H at Z */
+DEFINE_THISCALL_WRAPPER(Iostream_init_ios_ctor, 12)
+void* __thiscall Iostream_init_ios_ctor(void *this, ios *obj, int n)
+{
+ FIXME("(%p %p %d) stub\n", this, obj, n);
+ return this;
+}
+
+/* ??0Iostream_init@@QAE at XZ */
+/* ??0Iostream_init@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(Iostream_init_ctor, 4)
+void* __thiscall Iostream_init_ctor(void *this)
+{
+ TRACE("(%p)\n", this);
+ return this;
+}
+
+/* ??1Iostream_init@@QAE at XZ */
+/* ??1Iostream_init@@QEAA at XZ */
+DEFINE_THISCALL_WRAPPER(Iostream_init_dtor, 4)
+void __thiscall Iostream_init_dtor(void *this)
+{
+ TRACE("(%p)\n", this);
+}
+
+/* ??4Iostream_init@@QAEAAV0 at ABV0@@Z */
+/* ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(Iostream_init_assign, 8)
+void* __thiscall Iostream_init_assign(void *this, const void *rhs)
+{
+ TRACE("(%p %p)\n", this, rhs);
+ return this;
+}
+
/******************************************************************
* ??0ostrstream@@QAE at XZ (MSVCRTI.@)
*/
diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec
index 8361896..7b67bc7 100644
--- a/dlls/msvcirt/msvcirt.spec
+++ b/dlls/msvcirt/msvcirt.spec
@@ -1,7 +1,7 @@
-@ stub -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z # __thiscall Iostream_init::Iostream_init(class ios &,int)
-@ stub -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z
-@ stub -arch=win32 ??0Iostream_init@@QAE at XZ # __thiscall Iostream_init::Iostream_init(void)
-@ stub -arch=win64 ??0Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z(ptr ptr long) Iostream_init_ios_ctor
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z(ptr ptr long) Iostream_init_ios_ctor
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at XZ(ptr) Iostream_init_ctor
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at XZ(ptr) Iostream_init_ctor
@ thiscall -arch=i386 ??0exception@@QAE at ABQBD@Z(ptr ptr) MSVCP_exception_ctor
@ cdecl -arch=win64 ??0exception@@QEAA at AEBQEBD@Z(ptr ptr) MSVCP_exception_ctor
@ thiscall -arch=i386 ??0exception@@QAE at ABV0@@Z(ptr ptr) MSVCP_exception_copy_ctor
@@ -130,8 +130,8 @@
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at PEAEH0@Z(ptr ptr long ptr) strstreambuf_ubuffer_ctor
@ thiscall -arch=win32 ??0strstreambuf@@QAE at XZ(ptr) strstreambuf_ctor
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at XZ(ptr) strstreambuf_ctor
-@ stub -arch=win32 ??1Iostream_init@@QAE at XZ # __thiscall Iostream_init::~Iostream_init(void)
-@ stub -arch=win64 ??1Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??1Iostream_init@@QAE at XZ(ptr) Iostream_init_dtor
+@ cdecl -arch=win64 ??1Iostream_init@@QEAA at XZ(ptr) Iostream_init_dtor
@ thiscall -arch=i386 ??1exception@@UAE at XZ(ptr) MSVCP_exception_dtor
@ cdecl -arch=win64 ??1exception@@UEAA at XZ(ptr) MSVCP_exception_dtor
@ thiscall -arch=win32 ??1filebuf@@UAE at XZ(ptr) filebuf_dtor
@@ -170,8 +170,8 @@
@ stub -arch=win64 ??1strstream@@UEAA at XZ
@ thiscall -arch=win32 ??1strstreambuf@@UAE at XZ(ptr) strstreambuf_dtor
@ cdecl -arch=win64 ??1strstreambuf@@UEAA at XZ(ptr) strstreambuf_dtor
-@ stub -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z # class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
-@ stub -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z(ptr ptr) Iostream_init_assign
+@ cdecl -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) Iostream_init_assign
@ thiscall -arch=i386 ??4exception@@QAEAAV0 at ABV0@@Z(ptr ptr) MSVCP_exception_assign
@ cdecl -arch=win64 ??4exception@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) MSVCP_exception_assign
@ thiscall -arch=win32 ??4filebuf@@QAEAAV0 at ABV0@@Z(ptr ptr) filebuf_assign
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index 86d1120..fad156b 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -1,7 +1,7 @@
-@ stub -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z
-@ stub -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z
-@ stub -arch=win32 ??0Iostream_init@@QAE at XZ
-@ stub -arch=win64 ??0Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z(ptr ptr long) msvcirt.??0Iostream_init@@QAE at AAVios@@H at Z
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z(ptr ptr long) msvcirt.??0Iostream_init@@QEAA at AEAVios@@H at Z
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at XZ(ptr) msvcirt.??0Iostream_init@@QAE at XZ
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at XZ(ptr) msvcirt.??0Iostream_init@@QEAA at XZ
@ thiscall -arch=win32 ??0filebuf@@QAE at ABV0@@Z(ptr ptr) msvcirt.??0filebuf@@QAE at ABV0@@Z
@ cdecl -arch=win64 ??0filebuf@@QEAA at AEBV0@@Z(ptr ptr) msvcirt.??0filebuf@@QEAA at AEBV0@@Z
@ thiscall -arch=win32 ??0filebuf@@QAE at H@Z(ptr long) msvcirt.??0filebuf@@QAE at H@Z
@@ -118,8 +118,8 @@
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at PEADH0@Z(ptr ptr long ptr) msvcirt.??0strstreambuf@@QEAA at PEADH0@Z
@ thiscall -arch=win32 ??0strstreambuf@@QAE at XZ(ptr) msvcirt.??0strstreambuf@@QAE at XZ
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at XZ(ptr) msvcirt.??0strstreambuf@@QEAA at XZ
-@ stub -arch=win32 ??1Iostream_init@@QAE at XZ
-@ stub -arch=win64 ??1Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??1Iostream_init@@QAE at XZ(ptr) msvcirt.??1Iostream_init@@QAE at XZ
+@ cdecl -arch=win64 ??1Iostream_init@@QEAA at XZ(ptr) msvcirt.??1Iostream_init@@QEAA at XZ
@ thiscall -arch=win32 ??1filebuf@@UAE at XZ(ptr) msvcirt.??1filebuf@@UAE at XZ
@ cdecl -arch=win64 ??1filebuf@@UEAA at XZ(ptr) msvcirt.??1filebuf@@UEAA at XZ
@ stub -arch=win32 ??1fstream@@UAE at XZ
@@ -158,8 +158,8 @@
@ cdecl -arch=win64 ??2 at YAPEAX_K@Z(long) msvcrt.??2 at YAPEAX_K@Z
@ cdecl -arch=win32 ??3 at YAXPAX@Z(ptr) msvcrt.??3 at YAXPAX@Z
@ cdecl -arch=win64 ??3 at YAXPEAX@Z(ptr) msvcrt.??3 at YAXPEAX@Z
-@ stub -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4Iostream_init@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z
@ thiscall -arch=win32 ??4filebuf@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4filebuf@@QAEAAV0 at ABV0@@Z
@ cdecl -arch=win64 ??4filebuf@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4filebuf@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4fstream@@QAEAAV0 at AAV0@@Z
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index e78f085..4ac328a 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -1,7 +1,7 @@
-@ stub -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z
-@ stub -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z
-@ stub -arch=win32 ??0Iostream_init@@QAE at XZ
-@ stub -arch=win64 ??0Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at AAVios@@H at Z(ptr ptr long) msvcirt.??0Iostream_init@@QAE at AAVios@@H at Z
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at AEAVios@@H at Z(ptr ptr long) msvcirt.??0Iostream_init@@QEAA at AEAVios@@H at Z
+@ thiscall -arch=win32 ??0Iostream_init@@QAE at XZ(ptr) msvcirt.??0Iostream_init@@QAE at XZ
+@ cdecl -arch=win64 ??0Iostream_init@@QEAA at XZ(ptr) msvcirt.??0Iostream_init@@QEAA at XZ
@ thiscall -arch=i386 ??0__non_rtti_object@@QAE at ABV0@@Z(ptr ptr) msvcrt.??0__non_rtti_object@@QAE at ABV0@@Z
@ cdecl -arch=win64 ??0__non_rtti_object@@QEAA at AEBV0@@Z(ptr ptr) msvcrt.??0__non_rtti_object@@QEAA at AEBV0@@Z
@ thiscall -arch=i386 ??0__non_rtti_object@@QAE at PBD@Z(ptr ptr) msvcrt.??0__non_rtti_object@@QAE at PBD@Z
@@ -140,8 +140,8 @@
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at PEADH0@Z(ptr ptr long ptr) msvcirt.??0strstreambuf@@QEAA at PEADH0@Z
@ thiscall -arch=win32 ??0strstreambuf@@QAE at XZ(ptr) msvcirt.??0strstreambuf@@QAE at XZ
@ cdecl -arch=win64 ??0strstreambuf@@QEAA at XZ(ptr) msvcirt.??0strstreambuf@@QEAA at XZ
-@ stub -arch=win32 ??1Iostream_init@@QAE at XZ
-@ stub -arch=win64 ??1Iostream_init@@QEAA at XZ
+@ thiscall -arch=win32 ??1Iostream_init@@QAE at XZ(ptr) msvcirt.??1Iostream_init@@QAE at XZ
+@ cdecl -arch=win64 ??1Iostream_init@@QEAA at XZ(ptr) msvcirt.??1Iostream_init@@QEAA at XZ
@ thiscall -arch=i386 ??1__non_rtti_object@@UAE at XZ(ptr) msvcrt.??1__non_rtti_object@@UAE at XZ
@ cdecl -arch=win64 ??1__non_rtti_object@@UEAA at XZ(ptr) msvcrt.??1__non_rtti_object@@UEAA at XZ
@ thiscall -arch=i386 ??1bad_cast@@UAE at XZ(ptr) msvcrt.??1bad_cast@@UAE at XZ
@@ -192,8 +192,8 @@
@ cdecl -arch=win64 ??2 at YAPEAX_K@Z(long) msvcrt.??2 at YAPEAX_K@Z
@ cdecl -arch=win32 ??3 at YAXPAX@Z(ptr) msvcrt.??3 at YAXPAX@Z
@ cdecl -arch=win64 ??3 at YAXPEAX@Z(ptr) msvcrt.??3 at YAXPEAX@Z
-@ stub -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4Iostream_init@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4Iostream_init@@QAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4Iostream_init@@QEAAAEAV0 at AEBV0@@Z
@ thiscall -arch=i386 ??4__non_rtti_object@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcrt.??4__non_rtti_object@@QAEAAV0 at ABV0@@Z
@ cdecl -arch=win64 ??4__non_rtti_object@@QEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcrt.??4__non_rtti_object@@QEAAAEAV0 at AEBV0@@Z
@ thiscall -arch=i386 ??4bad_cast@@QAEAAV0 at ABV0@@Z(ptr ptr) msvcrt.??4bad_cast@@QAEAAV0 at ABV0@@Z
--
2.7.4
More information about the wine-patches
mailing list