Piotr Caban : msvcp90: Added basic_string<{char, wchar_t}>.{length, size} implementation.
Module: wine Branch: master Commit: ec8cdcc2277ebbff428bad1c9b741e0ad79d459e URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec8cdcc2277ebbff428bad1c9b... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Thu Sep 2 00:34:57 2010 +0200 msvcp90: Added basic_string<{char, wchar_t}>.{length, size} implementation. --- dlls/msvcp90/msvcp90.spec | 16 ++++++++-------- dlls/msvcp90/string.c | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec index 4097ba7..8505614 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -4456,12 +4456,12 @@ @ stub ?ldexp@?$_Ctraits(a)M@std@@SAMMH(a)Z @ stub ?ldexp@?$_Ctraits(a)N@std@@SANNH(a)Z @ stub ?ldexp@?$_Ctraits(a)O@std@@SAOOH(a)Z -@ stub -arch=win32 ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ -@ stub -arch=win64 ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ +@ thiscall -arch=win32 ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ(ptr) MSVCP_basic_string_char_length +@ cdecl -arch=win64 ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ(ptr) MSVCP_basic_string_char_length @ stub -arch=win32 ?length@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QBEIXZ @ stub -arch=win64 ?length@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QEBA_KXZ -@ stub -arch=win32 ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ -@ stub -arch=win64 ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ +@ thiscall -arch=win32 ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ(ptr) MSVCP_basic_string_wchar_length +@ cdecl -arch=win64 ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ(ptr) MSVCP_basic_string_wchar_length @ cdecl -arch=win32 ?length@?$char_traits(a)D@std@@SAIPBD(a)Z(ptr) MSVCP_char_traits_char_length @ cdecl -arch=win64 ?length@?$char_traits(a)D@std@@SA_KPEBD(a)Z(ptr) MSVCP_char_traits_char_length @ cdecl -arch=win32 ?length@?$char_traits(a)G@std@@SAIPBG(a)Z(ptr) MSVCP_char_traits_short_length @@ -5407,12 +5407,12 @@ @ stub ?sin@?$_Ctraits(a)M@std@@SAMM(a)Z @ stub ?sin@?$_Ctraits(a)N@std@@SANN(a)Z @ stub ?sin@?$_Ctraits(a)O@std@@SAOO(a)Z -@ stub -arch=win32 ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ -@ stub -arch=win64 ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ +@ thiscall -arch=win32 ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ(ptr) MSVCP_basic_string_char_length +@ cdecl -arch=win64 ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ(ptr) MSVCP_basic_string_char_length @ stub -arch=win32 ?size@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QBEIXZ @ stub -arch=win64 ?size@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QEBA_KXZ -@ stub -arch=win32 ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ -@ stub -arch=win64 ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ +@ thiscall -arch=win32 ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ(ptr) MSVCP_basic_string_wchar_length +@ cdecl -arch=win64 ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ(ptr) MSVCP_basic_string_wchar_length @ stub -arch=win32 ?snextc@?$basic_streambuf(a)DU?$char_traits(a)D@std@@@std@@QAEHXZ @ stub -arch=win64 ?snextc@?$basic_streambuf(a)DU?$char_traits(a)D@std@@@std@@QEAAHXZ @ stub -arch=win32 ?snextc@?$basic_streambuf(a)GU?$char_traits(a)G@std@@@std@@QAEGXZ diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index 5b4b11f..291d158 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -742,6 +742,17 @@ void __thiscall MSVCP_basic_string_char_dtor(basic_string_char *this) basic_string_char_tidy(this, TRUE, 0); } +/* ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ */ +/* ?size@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ */ +/* ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIXZ */ +/* ?length@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KXZ */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_length, 4) +size_t __thiscall MSVCP_basic_string_char_length(basic_string_char *this) +{ + TRACE("%p\n", this); + return this->size; +} + /* basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t>> */ /* ?npos@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@2IB */ @@ -989,3 +1000,14 @@ void __thiscall MSVCP_basic_string_wchar_dtor(basic_string_wchar *this) TRACE("%p\n", this); basic_string_wchar_tidy(this, TRUE, 0); } + +/* ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ */ +/* ?size@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ */ +/* ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIXZ */ +/* ?length@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KXZ */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_length, 4) +size_t __thiscall MSVCP_basic_string_wchar_length(basic_string_wchar *this) +{ + TRACE("%p\n", this); + return this->size; +}
participants (1)
-
Alexandre Julliard