Piotr Caban : msvcp90: Added basic_string::find(const char*, size_t) implementation.
Module: wine Branch: master Commit: 44f64f29b33c5e268dc312d50d3ca0b11b809e84 URL: http://source.winehq.org/git/wine.git/?a=commit;h=44f64f29b33c5e268dc312d50d... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 12 13:10:40 2011 +0200 msvcp90: Added basic_string::find(const char*, size_t) 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 277ef26..5518c06 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -3821,10 +3821,10 @@ @ stub -arch=win64 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KAEBV12(a)_K@Z @ thiscall -arch=win32 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIDI(a)Z(ptr long long) MSVCP_basic_string_char_find_ch @ cdecl -arch=win64 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KD_K(a)Z(ptr long long) MSVCP_basic_string_char_find_ch -@ stub -arch=win32 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIPBDI(a)Z +@ thiscall -arch=win32 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIPBDI(a)Z(ptr str long) MSVCP_basic_string_char_find_cstr_off @ cdecl -arch=win64 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KPEBD_K1(a)Z(ptr str long long) MSVCP_basic_string_char_find_cstr_substr @ thiscall -arch=win32 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIPBDII(a)Z(ptr str long long) MSVCP_basic_string_char_find_cstr_substr -@ stub -arch=win64 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KPEBD_K(a)Z +@ cdecl -arch=win64 ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KPEBD_K(a)Z(ptr str long) MSVCP_basic_string_char_find_cstr_off @ stub -arch=win32 ?find@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QBEIABV12(a)I@Z @ stub -arch=win64 ?find@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QEBA_KAEBV12(a)_K@Z @ stub -arch=win32 ?find@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QBEIGI(a)Z @@ -3835,10 +3835,10 @@ @ stub -arch=win64 ?find@?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@std@@QEBA_KPEBG_K(a)Z @ stub -arch=win32 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIABV12(a)I@Z @ stub -arch=win64 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KAEBV12(a)_K@Z -@ stub -arch=win32 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIPB_WI(a)Z +@ thiscall -arch=win32 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIPB_WI(a)Z(ptr wstr long) MSVCP_basic_string_wchar_find_cstr_off @ cdecl -arch=win64 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KPEB_W_K1(a)Z(ptr wstr long long) MSVCP_basic_string_wchar_find_cstr_substr @ thiscall -arch=win32 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIPB_WII(a)Z(ptr wstr long long) MSVCP_basic_string_wchar_find_cstr_substr -@ stub -arch=win64 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KPEB_W_K(a)Z +@ cdecl -arch=win64 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KPEB_W_K(a)Z(ptr wstr long) MSVCP_basic_string_wchar_find_cstr_off @ thiscall -arch=win32 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEI_WI(a)Z(ptr long long) MSVCP_basic_string_wchar_find_ch @ cdecl -arch=win64 ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_K_W_K(a)Z(ptr long long) MSVCP_basic_string_wchar_find_ch @ cdecl -arch=win32 ?find@?$char_traits(a)D@std@@SAPBDPBDIABD(a)Z(ptr long ptr) MSVCP_char_traits_char_find diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index dfc0af5..c25c7f1 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -1172,6 +1172,16 @@ MSVCP_size_t __thiscall MSVCP_basic_string_char_find_cstr_substr( return MSVCP_basic_string_char_npos; } +/* ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIPBDI(a)Z */ +/* ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KPEBD_K(a)Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_cstr_off, 12) +MSVCP_size_t __thiscall MSVCP_basic_string_char_find_cstr_off( + const basic_string_char *this, const char *find, MSVCP_size_t pos) +{ + return MSVCP_basic_string_char_find_cstr_substr(this, find, pos, + MSVCP_char_traits_char_length(find)); +} + /* ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIDI(a)Z */ /* ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KD_K(a)Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_ch, 12) @@ -2013,6 +2023,16 @@ MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_cstr_substr( return MSVCP_basic_string_wchar_npos; } +/* ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIPB_WI(a)Z */ +/* ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KPEB_W_K(a)Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_cstr_off, 12) +MSVCP_size_t __thiscall MSVCP_basic_string_wchar_find_cstr_off( + const basic_string_wchar *this, const wchar_t *find, MSVCP_size_t pos) +{ + return MSVCP_basic_string_wchar_find_cstr_substr(this, find, pos, + MSVCP_char_traits_wchar_length(find)); +} + /* ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEI_WI(a)Z */ /* ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_K_W_K(a)Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_ch, 12)
participants (1)
-
Alexandre Julliard