Piotr Caban : msvcp90: Added basic_string<char>(allocator<char>) constructor implementation.

Alexandre Julliard julliard at winehq.org
Mon Sep 12 11:43:00 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Sep 12 13:10:30 2011 +0200

msvcp90: Added basic_string<char>(allocator<char>) constructor implementation.

---

 dlls/msvcp90/memory.c     |    4 ++--
 dlls/msvcp90/msvcp90.spec |    8 ++++----
 dlls/msvcp90/string.c     |   24 ++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/dlls/msvcp90/memory.c b/dlls/msvcp90/memory.c
index 0941006..85d80ae 100644
--- a/dlls/msvcp90/memory.c
+++ b/dlls/msvcp90/memory.c
@@ -54,7 +54,7 @@ void* __thiscall MSVCP_allocator_char_ctor(void *this)
 /* ??0?$allocator at D@std@@QAE at ABV01@@Z */
 /* ??0?$allocator at D@std@@QEAA at AEBV01@@Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_copy_ctor, 8)
-void* __thiscall MSVCP_allocator_char_copy_ctor(void *this, void *copy)
+void* __thiscall MSVCP_allocator_char_copy_ctor(void *this, const void *copy)
 {
     return this;
 }
@@ -62,7 +62,7 @@ void* __thiscall MSVCP_allocator_char_copy_ctor(void *this, void *copy)
 /* ??4?$allocator at D@std@@QAEAAV01 at ABV01@@Z */
 /* ??4?$allocator at D@std@@QEAAAEAV01 at AEBV01@@Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_assign, 8);
-void* __thiscall MSVCP_allocator_char_assign(void *this, void *assign)
+void* __thiscall MSVCP_allocator_char_assign(void *this, const void *assign)
 {
     return this;
 }
diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index f3062cd..277ef26 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -738,8 +738,8 @@
 @ cdecl -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV01@_K1 at Z(ptr ptr long long) MSVCP_basic_string_char_ctor_substr
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV01@IIABV?$allocator at D@1@@Z
 @ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV01@_K1AEBV?$allocator at D@1@@Z
-@ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV?$allocator at D@1@@Z
-@ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV?$allocator at D@1@@Z
+@ thiscall -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV?$allocator at D@1@@Z(ptr ptr) MSVCP_basic_string_char_ctor_alloc
+@ cdecl -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV?$allocator at D@1@@Z(ptr ptr) MSVCP_basic_string_char_ctor_alloc
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ID@Z
 @ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at PEBD0@Z
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at IDABV?$allocator at D@1@@Z
@@ -790,8 +790,8 @@
 @ cdecl -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV01@_K1 at Z(ptr ptr long long) MSVCP_basic_string_wchar_ctor_substr
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at ABV01@IIABV?$allocator at _W@1@@Z
 @ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV01@_K1AEBV?$allocator at _W@1@@Z
-@ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at ABV?$allocator at _W@1@@Z
-@ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV?$allocator at _W@1@@Z
+@ thiscall -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at ABV?$allocator at _W@1@@Z(ptr ptr) MSVCP_basic_string_wchar_ctor_alloc
+@ cdecl -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV?$allocator at _W@1@@Z(ptr ptr) MSVCP_basic_string_wchar_ctor_alloc
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at I_W@Z
 @ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at PEB_W0@Z
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at I_WABV?$allocator at _W@1@@Z
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 049659e..dfc0af5 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -793,6 +793,18 @@ basic_string_char* __thiscall MSVCP_basic_string_char_ctor_substr(
     return this;
 }
 
+/* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV?$allocator at D@1@@Z */
+/* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV?$allocator at D@1@@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_alloc, 8)
+basic_string_char* __thiscall MSVCP_basic_string_char_ctor_alloc(
+        basic_string_char *this, const void *alloc)
+{
+    TRACE("%p %p\n", this, alloc);
+
+    basic_string_char_tidy(this, FALSE, 0);
+    return this;
+}
+
 /* ??1?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at XZ */
 /* ??1?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at XZ */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_dtor, 4)
@@ -1622,6 +1634,18 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_substr(
     return this;
 }
 
+/* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at ABV?$allocator at _W@1@@Z */
+/* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV?$allocator at _W@1@@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_alloc, 8)
+    basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_alloc(
+            basic_string_wchar *this, const void *alloc)
+{
+    TRACE("%p %p\n", this, alloc);
+
+    basic_string_wchar_tidy(this, FALSE, 0);
+    return this;
+}
+
 /* ??1?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at XZ */
 /* ??1?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at XZ */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_dtor, 4)




More information about the wine-cvs mailing list