Piotr Caban : msvcp90: Added basic_string<char> constructor implementation (cstr, len).

Alexandre Julliard julliard at winehq.org
Fri Apr 29 11:09:16 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Apr 29 11:16:19 2011 +0200

msvcp90: Added basic_string<char> constructor implementation (cstr, len).

---

 dlls/msvcp90/msvcp90.spec |    8 ++++----
 dlls/msvcp90/string.c     |   26 ++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index f52c824..dd1d3a7 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -747,10 +747,10 @@
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBD0@Z
 @ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at PEBDAEBV?$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 PBD@Z(ptr str) MSVCP_basic_string_char_ctor_cstr
-@ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at PEBD_K@Z
+@ cdecl -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at PEBD_K@Z(ptr str long) MSVCP_basic_string_char_ctor_cstr_len
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBDABV?$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 PEBD_KAEBV?$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 PBDI@Z
+@ thiscall -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBDI@Z(ptr str long) MSVCP_basic_string_char_ctor_cstr_len
 @ stub -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at V?$_String_const_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@1 at 0@Z
 @ stub -arch=win32 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBDIABV?$allocator at D@1@@Z
 @ cdecl -arch=win64 ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at XZ(ptr) MSVCP_basic_string_char_ctor
@@ -799,10 +799,10 @@
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at PB_W0@Z
 @ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at PEB_WAEBV?$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 PB_W@Z(ptr wstr) MSVCP_basic_string_wchar_ctor_cstr
-@ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at PEB_W_K@Z
+@ cdecl -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at PEB_W_K@Z(ptr wstr long) MSVCP_basic_string_wchar_ctor_cstr_len
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at PB_WABV?$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 PEB_W_KAEBV?$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 PB_WI@Z
+@ thiscall -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at PB_WI@Z(ptr wstr long) MSVCP_basic_string_wchar_ctor_cstr_len
 @ stub -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at V?$_String_const_iterator at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@1 at 0@Z
 @ stub -arch=win32 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at PB_WIABV?$allocator at _W@1@@Z
 @ cdecl -arch=win64 ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at XZ(ptr) MSVCP_basic_string_wchar_ctor
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 0503a41..6a9dcb1 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -746,6 +746,19 @@ basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr(
     return this;
 }
 
+/* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBDI@Z */
+/* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at PEBD_K@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr_len, 12)
+basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr_len(
+        basic_string_char *this, const char *str, size_t len)
+{
+    TRACE("%p %s %d\n", this, str, len);
+
+    basic_string_char_tidy(this, FALSE, 0);
+    MSVCP_basic_string_char_assign_cstr_len(this, str, len);
+    return this;
+}
+
 /* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV01@II at Z */
 /* ??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAA at AEBV01@_K1 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_substr, 16)
@@ -1393,6 +1406,19 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr(
     return this;
 }
 
+/* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at PB_WI@Z */
+/* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at PEB_W_K@Z */
+DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_cstr_len, 12)
+basic_string_wchar* __thiscall MSVCP_basic_string_wchar_ctor_cstr_len(
+        basic_string_wchar *this, const wchar_t *str, size_t len)
+{
+    TRACE("%p %s %d\n", this, debugstr_w(str), len);
+
+    basic_string_wchar_tidy(this, FALSE, 0);
+    MSVCP_basic_string_wchar_assign_cstr_len(this, str, len);
+    return this;
+}
+
 /* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QAE at ABV01@II at Z */
 /* ??0?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEAA at AEBV01@_K1 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_substr, 16)




More information about the wine-cvs mailing list