Module: wine Branch: master Commit: 6e4ad3394152077d630bac6cedfa47c81cecef4a URL: http://source.winehq.org/git/wine.git/?a=commit;h=6e4ad3394152077d630bac6ced... Author: Piotr Caban <piotr(a)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(a)D@std@@QAE(a)ABV01@@Z */ /* ??0?$allocator(a)D@std@@QEAA(a)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(a)D@std@@QAEAAV01(a)ABV01@@Z */ /* ??4?$allocator(a)D@std@@QEAAAEAV01(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)AEBV01@_K1(a)Z(ptr ptr long long) MSVCP_basic_string_char_ctor_substr @ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)ABV01@IIABV?$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)AEBV01@_K1AEBV?$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)ABV?$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)AEBV?$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)ABV?$allocator(a)D@1@@Z(ptr ptr) MSVCP_basic_string_char_ctor_alloc +@ cdecl -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)AEBV?$allocator(a)D@1@@Z(ptr ptr) MSVCP_basic_string_char_ctor_alloc @ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)ID@Z @ stub -arch=win64 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)PEBD0@Z @ stub -arch=win32 ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)IDABV?$allocator(a)D@1@@Z @@ -790,8 +790,8 @@ @ cdecl -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)AEBV01@_K1(a)Z(ptr ptr long long) MSVCP_basic_string_wchar_ctor_substr @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)ABV01@IIABV?$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)AEBV01@_K1AEBV?$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)ABV?$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)AEBV?$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)ABV?$allocator(a)_W@1@@Z(ptr ptr) MSVCP_basic_string_wchar_ctor_alloc +@ cdecl -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)AEBV?$allocator(a)_W@1@@Z(ptr ptr) MSVCP_basic_string_wchar_ctor_alloc @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)I_W@Z @ stub -arch=win64 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)PEB_W0@Z @ stub -arch=win32 ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)I_WABV?$allocator(a)_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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)ABV?$allocator(a)D@1@@Z */ +/* ??0?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)AEBV?$allocator(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QAE(a)XZ */ /* ??1?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEAA(a)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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)ABV?$allocator(a)_W@1@@Z */ +/* ??0?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)AEBV?$allocator(a)_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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QAE(a)XZ */ /* ??1?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEAA(a)XZ */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_dtor, 4)