Piotr Caban : msvcp90: Use DEFINE_RTTI_DATA to define iosb RTTI base descriptor.

Alexandre Julliard julliard at winehq.org
Tue Mar 27 12:48:06 CDT 2012


Module: wine
Branch: master
Commit: 50bbba932e5dea05f17860ea7a95aa792d717e99
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=50bbba932e5dea05f17860ea7a95aa792d717e99

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Mar 27 12:40:47 2012 +0200

msvcp90: Use DEFINE_RTTI_DATA to define iosb RTTI base descriptor.

---

 dlls/msvcp90/ios.c |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
index a8d4ddd..25c0e39 100644
--- a/dlls/msvcp90/ios.c
+++ b/dlls/msvcp90/ios.c
@@ -149,6 +149,8 @@ typedef struct {
     basic_ios_char child;
 } basic_ostream_char;
 
+extern const vtable_ptr MSVCP_iosb_vtable;
+
 /* ??_7ios_base at std@@6B@ */
 extern const vtable_ptr MSVCP_ios_base_vtable;
 
@@ -164,19 +166,7 @@ extern const vtable_ptr MSVCP_basic_streambuf_char_vtable;
 /* ??_7?$basic_ostream at DU?$char_traits at D@std@@@std@@6B@ */
 extern const vtable_ptr MSVCP_basic_ostream_char_vtable;
 
-static const type_info iosb_type_info = {
-    &MSVCP_ios_base_vtable,
-    NULL,
-    ".?AV?$_Iosb at H@std@@"
-};
-    
-static const rtti_base_descriptor iosb_rtti_base_descriptor = {
-    &iosb_type_info,
-    0,
-    { 4, -1, 0 },
-    64
-};
-
+DEFINE_RTTI_DATA(iosb, 0, 0, NULL, NULL, NULL, ".?AV?$_Iosb at H@std@@");
 DEFINE_RTTI_DATA(ios_base, 0, 1, &iosb_rtti_base_descriptor, NULL, NULL, ".?AV?$_Iosb at H@std@@");
 DEFINE_RTTI_DATA(basic_ios_char, 0, 2, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor,
         NULL, ".?AV?$basic_ios at DU?$char_traits at D@std@@@std@@");
@@ -190,6 +180,7 @@ DEFINE_RTTI_DATA(basic_ostream_char, 4, 3, &basic_ios_char_rtti_base_descriptor,
 #ifndef __GNUC__
 void __asm_dummy_vtables(void) {
 #endif
+    __ASM_VTABLE(iosb, "");
     __ASM_VTABLE(ios_base, "");
     __ASM_VTABLE(basic_ios_char, "");
     __ASM_VTABLE(basic_ios_wchar, "");
@@ -260,6 +251,12 @@ ios_base* __thiscall MSVCP_ios_base_vector_dtor(ios_base *this, unsigned int fla
     return this;
 }
 
+DEFINE_THISCALL_WRAPPER(MSVCP_iosb_vector_dtor, 8)
+ios_base* __thiscall MSVCP_iosb_vector_dtor(ios_base *this, unsigned int flags)
+{
+    return MSVCP_ios_base_vector_dtor(this, flags);
+}
+
 /* ??4ios_base at std@@QAEAAV01 at ABV01@@Z */
 /* ??4ios_base at std@@QEAAAEAV01 at AEBV01@@Z */
 DEFINE_THISCALL_WRAPPER(ios_base_assign, 8)




More information about the wine-cvs mailing list