[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