Piotr Caban : msvcp90: Added basic_string<char> constructor implementation (cstr, len).
Module: wine Branch: master Commit: 391d488694e896dd80090daf04cc7b7215ae0887 URL: http://source.winehq.org/git/wine.git/?a=commit;h=391d488694e896dd80090daf04... Author: Piotr Caban <piotr(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBD0@Z @ stub -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)PEBDAEBV?$allocator(a)D@1@@Z @ thiscall -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBD@Z(ptr str) MSVCP_basic_string_char_ctor_cstr -@ stub -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)PEBD_K@Z +@ cdecl -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)PEBD_K@Z(ptr str long) MSVCP_basic_string_char_ctor_cstr_len @ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBDABV?$allocator(a)D@1@@Z @ stub -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)PEBD_KAEBV?$allocator(a)D@1@@Z -@ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBDI@Z +@ thiscall -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBDI@Z(ptr str long) MSVCP_basic_string_char_ctor_cstr_len @ stub -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)V?$_String_const_iterator(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@1(a)0@Z @ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBDIABV?$allocator(a)D@1@@Z @ cdecl -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)XZ(ptr) MSVCP_basic_string_char_ctor @@ -799,10 +799,10 @@ @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_W0@Z @ stub -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)PEB_WAEBV?$allocator(a)_W@1@@Z @ thiscall -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_W@Z(ptr wstr) MSVCP_basic_string_wchar_ctor_cstr -@ stub -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)PEB_W_K@Z +@ cdecl -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)PEB_W_K@Z(ptr wstr long) MSVCP_basic_string_wchar_ctor_cstr_len @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_WABV?$allocator(a)_W@1@@Z @ stub -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)PEB_W_KAEBV?$allocator(a)_W@1@@Z -@ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_WI@Z +@ thiscall -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_WI@Z(ptr wstr long) MSVCP_basic_string_wchar_ctor_cstr_len @ stub -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)V?$_String_const_iterator(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@1(a)0@Z @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_WIABV?$allocator(a)_W@1@@Z @ cdecl -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)PBDI@Z */ +/* ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)ABV01@II(a)Z */ /* ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)AEBV01@_K1(a)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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)PB_WI@Z */ +/* ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)ABV01@II(a)Z */ /* ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)AEBV01@_K1(a)Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_ctor_substr, 16)
participants (1)
-
Alexandre Julliard