Piotr Caban : msvcp90: Added _String_val class implementation.

Alexandre Julliard julliard at winehq.org
Fri Oct 14 14:14:49 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Oct 14 15:01:50 2011 +0200

msvcp90: Added _String_val class implementation.

---

 dlls/msvcp90/msvcp90.spec |   48 ++++++++++++++++++++++----------------------
 dlls/msvcp90/string.c     |   40 +++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 24 deletions(-)

diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 11271cf..99bd7e0 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -518,18 +518,18 @@
 @ stub -arch=win64 ??0?$_Mpunct at _W@std@@QEAA at AEBV_Locinfo@1 at _K_N2@Z
 @ stub -arch=win32 ??0?$_Mpunct at _W@std@@QAE at I_N@Z
 @ stub -arch=win64 ??0?$_Mpunct at _W@std@@QEAA at _K_N@Z
-@ stub -arch=win32 ??0?$_String_val at DV?$allocator at D@std@@@std@@IAE at V?$allocator at D@1@@Z
-@ stub -arch=win64 ??0?$_String_val at DV?$allocator at D@std@@@std@@IEAA at V?$allocator at D@1@@Z
-@ stub -arch=win32 ??0?$_String_val at DV?$allocator at D@std@@@std@@QAE at ABV01@@Z
-@ stub -arch=win64 ??0?$_String_val at DV?$allocator at D@std@@@std@@QEAA at AEBV01@@Z
-@ stub -arch=win32 ??0?$_String_val at GV?$allocator at G@std@@@std@@IAE at V?$allocator at G@1@@Z
-@ stub -arch=win64 ??0?$_String_val at GV?$allocator at G@std@@@std@@IEAA at V?$allocator at G@1@@Z
-@ stub -arch=win32 ??0?$_String_val at GV?$allocator at G@std@@@std@@QAE at ABV01@@Z
-@ stub -arch=win64 ??0?$_String_val at GV?$allocator at G@std@@@std@@QEAA at AEBV01@@Z
-@ stub -arch=win32 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IAE at V?$allocator at _W@1@@Z
-@ stub -arch=win64 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IEAA at V?$allocator at _W@1@@Z
-@ stub -arch=win32 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QAE at ABV01@@Z
-@ stub -arch=win64 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QEAA at AEBV01@@Z
+@ thiscall -arch=win32 ??0?$_String_val at DV?$allocator at D@std@@@std@@IAE at V?$allocator at D@1@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at DV?$allocator at D@std@@@std@@IEAA at V?$allocator at D@1@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??0?$_String_val at DV?$allocator at D@std@@@std@@QAE at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at DV?$allocator at D@std@@@std@@QEAA at AEBV01@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??0?$_String_val at GV?$allocator at G@std@@@std@@IAE at V?$allocator at G@1@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at GV?$allocator at G@std@@@std@@IEAA at V?$allocator at G@1@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??0?$_String_val at GV?$allocator at G@std@@@std@@QAE at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at GV?$allocator at G@std@@@std@@QEAA at AEBV01@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IAE at V?$allocator at _W@1@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IEAA at V?$allocator at _W@1@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QAE at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QEAA at AEBV01@@Z(ptr ptr) _String_val_null_ctor
 @ thiscall -arch=win32 ??0?$allocator at D@std@@QAE at ABV01@@Z(ptr ptr) MSVCP_allocator_char_copy_ctor
 @ cdecl -arch=win64 ??0?$allocator at D@std@@QEAA at AEBV01@@Z(ptr ptr) MSVCP_allocator_char_copy_ctor
 @ thiscall -arch=win32 ??0?$allocator at D@std@@QAE at XZ(ptr) MSVCP_allocator_char_ctor
@@ -1366,12 +1366,12 @@
 @ stub -arch=win64 ??4?$_Iosb at H@std@@QEAAAEAV01 at AEBV01@@Z
 @ stub -arch=win32 ??4?$_Locbase at H@std@@QAEAAV01 at ABV01@@Z
 @ stub -arch=win64 ??4?$_Locbase at H@std@@QEAAAEAV01 at AEBV01@@Z
-@ stub -arch=win32 ??4?$_String_val at DV?$allocator at D@std@@@std@@QAEAAV01 at ABV01@@Z
-@ stub -arch=win64 ??4?$_String_val at DV?$allocator at D@std@@@std@@QEAAAEAV01 at AEBV01@@Z
-@ stub -arch=win32 ??4?$_String_val at GV?$allocator at G@std@@@std@@QAEAAV01 at ABV01@@Z
-@ stub -arch=win64 ??4?$_String_val at GV?$allocator at G@std@@@std@@QEAAAEAV01 at AEBV01@@Z
-@ stub -arch=win32 ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QAEAAV01 at ABV01@@Z
-@ stub -arch=win64 ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAAEAV01 at AEBV01@@Z
+@ thiscall -arch=win32 ??4?$_String_val at DV?$allocator at D@std@@@std@@QAEAAV01 at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??4?$_String_val at DV?$allocator at D@std@@@std@@QEAAAEAV01 at AEBV01@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??4?$_String_val at GV?$allocator at G@std@@@std@@QAEAAV01 at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??4?$_String_val at GV?$allocator at G@std@@@std@@QEAAAEAV01 at AEBV01@@Z(ptr ptr) _String_val_null_ctor
+@ thiscall -arch=win32 ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QAEAAV01 at ABV01@@Z(ptr ptr) _String_val_null_ctor
+@ cdecl -arch=win64 ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAAEAV01 at AEBV01@@Z(ptr ptr) _String_val_null_ctor
 @ thiscall -arch=win32 ??4?$allocator at D@std@@QAEAAV01 at ABV01@@Z(ptr ptr) MSVCP_allocator_char_assign
 @ cdecl -arch=win64 ??4?$allocator at D@std@@QEAAAEAV01 at AEBV01@@Z(ptr ptr) MSVCP_allocator_char_assign
 @ thiscall -arch=win32 ??4?$allocator at G@std@@QAEAAV01 at ABV01@@Z(ptr ptr) MSVCP_allocator_short_assign
@@ -1955,12 +1955,12 @@
 @ stub -arch=win64 ??_D?$basic_stringstream at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QEAAXXZ
 @ stub -arch=win32 ??_D?$basic_stringstream at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAEXXZ
 @ stub -arch=win64 ??_D?$basic_stringstream at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAAXXZ
-@ stub -arch=win32 ??_F?$_String_val at DV?$allocator at D@std@@@std@@QAEXXZ
-@ stub -arch=win64 ??_F?$_String_val at DV?$allocator at D@std@@@std@@QEAAXXZ
-@ stub -arch=win32 ??_F?$_String_val at GV?$allocator at G@std@@@std@@QAEXXZ
-@ stub -arch=win64 ??_F?$_String_val at GV?$allocator at G@std@@@std@@QEAAXXZ
-@ stub -arch=win32 ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QAEXXZ
-@ stub -arch=win64 ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAXXZ
+@ thiscall -arch=win32 ??_F?$_String_val at DV?$allocator at D@std@@@std@@QAEXXZ(ptr) _String_val_ctor
+@ cdecl -arch=win64 ??_F?$_String_val at DV?$allocator at D@std@@@std@@QEAAXXZ(ptr) _String_val_ctor
+@ thiscall -arch=win32 ??_F?$_String_val at GV?$allocator at G@std@@@std@@QAEXXZ(ptr) _String_val_ctor
+@ cdecl -arch=win64 ??_F?$_String_val at GV?$allocator at G@std@@@std@@QEAAXXZ(ptr) _String_val_ctor
+@ thiscall -arch=win32 ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QAEXXZ(ptr) _String_val_ctor
+@ cdecl -arch=win64 ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAXXZ(ptr) _String_val_ctor
 @ stub -arch=win32 ??_F?$basic_filebuf at DU?$char_traits at D@std@@@std@@QAEXXZ
 @ stub -arch=win64 ??_F?$basic_filebuf at DU?$char_traits at D@std@@@std@@QEAAXXZ
 @ stub -arch=win32 ??_F?$basic_filebuf at GU?$char_traits at G@std@@@std@@QAEXXZ
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index ab319c0..1971d71 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -3418,3 +3418,43 @@ MSVCP_size_t __cdecl MSVCP_basic_string_wchar_Pdif(String_iterator_wchar i1, Str
 
     return !i1.pos ? 0 : i1.pos-i2.pos;
 }
+
+/* _String_val class */
+/* ??_F?$_String_val at DV?$allocator at D@std@@@std@@QAEXXZ */
+/* ??_F?$_String_val at DV?$allocator at D@std@@@std@@QEAAXXZ */
+/* ??_F?$_String_val at GV?$allocator at G@std@@@std@@QAEXXZ */
+/* ??_F?$_String_val at GV?$allocator at G@std@@@std@@QEAAXXZ */
+/* ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QAEXXZ */
+/* ??_F?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAXXZ */
+DEFINE_THISCALL_WRAPPER(_String_val_ctor, 4)
+void* __thiscall _String_val_ctor(void *this)
+{
+    TRACE("%p\n", this);
+    return this;
+}
+
+/* ??0?$_String_val at DV?$allocator at D@std@@@std@@IAE at V?$allocator at D@1@@Z */
+/* ??0?$_String_val at DV?$allocator at D@std@@@std@@IEAA at V?$allocator at D@1@@Z */
+/* ??0?$_String_val at GV?$allocator at G@std@@@std@@IAE at V?$allocator at G@1@@Z */
+/* ??0?$_String_val at GV?$allocator at G@std@@@std@@IEAA at V?$allocator at G@1@@Z */
+/* ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IAE at V?$allocator at _W@1@@Z */
+/* ??0?$_String_val at _WV?$allocator at _W@std@@@std@@IEAA at V?$allocator at _W@1@@Z */
+/* ??0?$_String_val at DV?$allocator at D@std@@@std@@QAE at ABV01@@Z */
+/* ??0?$_String_val at DV?$allocator at D@std@@@std@@QEAA at AEBV01@@Z */
+/* ??0?$_String_val at GV?$allocator at G@std@@@std@@QAE at ABV01@@Z */
+/* ??0?$_String_val at GV?$allocator at G@std@@@std@@QEAA at AEBV01@@Z */
+/* ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QAE at ABV01@@Z */
+/* ??0?$_String_val at _WV?$allocator at _W@std@@@std@@QEAA at AEBV01@@Z */
+/* ??4?$_String_val at DV?$allocator at D@std@@@std@@QAEAAV01 at ABV01@@Z */
+/* ??4?$_String_val at DV?$allocator at D@std@@@std@@QEAAAEAV01 at AEBV01@@Z */
+/* ??4?$_String_val at GV?$allocator at G@std@@@std@@QAEAAV01 at ABV01@@Z */
+/* ??4?$_String_val at GV?$allocator at G@std@@@std@@QEAAAEAV01 at AEBV01@@Z */
+/* ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QAEAAV01 at ABV01@@Z */
+/* ??4?$_String_val at _WV?$allocator at _W@std@@@std@@QEAAAEAV01 at AEBV01@@Z */
+/* ??4?$_String_val at DV?$allocator at D@std@@@std@@QAEAAV01 at ABV01@@Z */
+DEFINE_THISCALL_WRAPPER(_String_val_null_ctor, 8)
+void* __thiscall _String_val_null_ctor(void *this, const void *misc)
+{
+    TRACE("%p %p\n", this, misc);
+    return this;
+}




More information about the wine-cvs mailing list