Module: wine Branch: master Commit: 97ebf771840d886343c5af6b1dcac92d8723eeb8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=97ebf771840d886343c5af6b1d... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Tue Sep 13 10:30:58 2011 +0200 msvcp90: Added basic_string::_Chassign implementation. --- dlls/msvcp90/msvcp90.spec | 8 ++++---- dlls/msvcp90/string.c | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 4654d2c..d0c29d0 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -2114,12 +2114,12 @@ @ cdecl -arch=win64 ?_Callfns(a)ios_base@std@@AEAAXW4event(a)12@@Z(ptr long) ios_base_Callfns @ stub -arch=win32 ?_Cerr_func(a)std@@YAAAV?$basic_ostream(a)DU?$char_traits(a)D@std@@@1(a)XZ @ stub -arch=win64 ?_Cerr_func(a)std@@YAAEAV?$basic_ostream(a)DU?$char_traits(a)D@std@@@1(a)XZ -@ stub -arch=win32 ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IAEXIID(a)Z -@ stub -arch=win64 ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IEAAX_K0D(a)Z +@ thiscall -arch=win32 ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IAEXIID(a)Z(ptr long long long) MSVCP_basic_string_char_Chassign +@ cdecl -arch=win64 ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IEAAX_K0D(a)Z(ptr long long long) MSVCP_basic_string_char_Chassign @ stub -arch=win32 ?_Chassign@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@IAEXIIG(a)Z @ stub -arch=win64 ?_Chassign@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@IEAAX_K0G(a)Z -@ stub -arch=win32 ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IAEXII_W(a)Z -@ stub -arch=win64 ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IEAAX_K0_W(a)Z +@ thiscall -arch=win32 ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IAEXII_W(a)Z(ptr long long long) MSVCP_basic_string_wchar_Chassign +@ cdecl -arch=win64 ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IEAAX_K0_W(a)Z(ptr long long long) MSVCP_basic_string_wchar_Chassign @ stub -arch=win32 ?_Cin_func(a)std@@YAAAV?$basic_istream(a)DU?$char_traits(a)D@std@@@1(a)XZ @ stub -arch=win64 ?_Cin_func(a)std@@YAAEAV?$basic_istream(a)DU?$char_traits(a)D@std@@@1(a)XZ # extern -arch=win64 ?_Cl@?5???$log(a)M@std@@YA?AV?$complex(a)M@1(a)AEBV21@@Z(a)4MB diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index 6d66677..5664e87 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -731,6 +731,16 @@ basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr( MSVCP_char_traits_char_length(str)); } +/* ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IAEXIID(a)Z */ +/* ?_Chassign@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@IEAAX_K0D(a)Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_Chassign, 16) +void __thiscall MSVCP_basic_string_char_Chassign(basic_string_char *this, + MSVCP_size_t off, MSVCP_size_t count, char ch) +{ + TRACE("%p %lu %lu %c\n", this, off, count, ch); + MSVCP_char_traits_char_assignn(basic_string_char_ptr(this)+off, count, ch); +} + /* ?c_str@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEPBDXZ */ /* ?c_str@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBAPEBDXZ */ /* ?data@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEPBDXZ */ @@ -1690,6 +1700,16 @@ basic_string_wchar* __thiscall MSVCP_basic_string_wchar_assign_cstr( MSVCP_char_traits_wchar_length(str)); } +/* ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IAEXII_W(a)Z */ +/* ?_Chassign@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@IEAAX_K0_W(a)Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_Chassign, 16) +void __thiscall MSVCP_basic_string_wchar_Chassign(basic_string_wchar *this, + MSVCP_size_t off, MSVCP_size_t count, wchar_t ch) +{ + TRACE("%p %lu %lu %c\n", this, off, count, ch); + MSVCP_char_traits_wchar_assignn(basic_string_wchar_ptr(this)+off, count, ch); +} + /* ?c_str@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEPB_WXZ */ /* ?c_str@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBAPEB_WXZ */ /* ?data@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEPB_WXZ */