Piotr Caban : msvcp90: Added basic_string::find(const char*, size_t) implementation.

Alexandre Julliard julliard at winehq.org
Mon Sep 12 11:43:00 CDT 2011


Module: wine
Branch: master
Commit: 44f64f29b33c5e268dc312d50d3ca0b11b809e84
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=44f64f29b33c5e268dc312d50d3ca0b11b809e84

Author: Piotr Caban <piotr at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KAEBV12 at _K@Z
 @ thiscall -arch=win32 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIDI at Z(ptr long long) MSVCP_basic_string_char_find_ch
 @ cdecl -arch=win64 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KD_K at Z(ptr long long) MSVCP_basic_string_char_find_ch
-@ stub -arch=win32 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDI at Z
+@ thiscall -arch=win32 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDI at Z(ptr str long) MSVCP_basic_string_char_find_cstr_off
 @ cdecl -arch=win64 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K1 at Z(ptr str long long) MSVCP_basic_string_char_find_cstr_substr
 @ thiscall -arch=win32 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDII at Z(ptr str long long) MSVCP_basic_string_char_find_cstr_substr
-@ stub -arch=win64 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K at Z
+@ cdecl -arch=win64 ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K at Z(ptr str long) MSVCP_basic_string_char_find_cstr_off
 @ stub -arch=win32 ?find@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QBEIABV12 at I@Z
 @ stub -arch=win64 ?find@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QEBA_KAEBV12 at _K@Z
 @ stub -arch=win32 ?find@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QBEIGI at Z
@@ -3835,10 +3835,10 @@
 @ stub -arch=win64 ?find@?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@std@@QEBA_KPEBG_K at Z
 @ stub -arch=win32 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIABV12 at I@Z
 @ stub -arch=win64 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KAEBV12 at _K@Z
-@ stub -arch=win32 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WI at Z
+@ thiscall -arch=win32 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WI at Z(ptr wstr long) MSVCP_basic_string_wchar_find_cstr_off
 @ cdecl -arch=win64 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K1 at Z(ptr wstr long long) MSVCP_basic_string_wchar_find_cstr_substr
 @ thiscall -arch=win32 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WII at Z(ptr wstr long long) MSVCP_basic_string_wchar_find_cstr_substr
-@ stub -arch=win64 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K at Z
+@ cdecl -arch=win64 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K at Z(ptr wstr long) MSVCP_basic_string_wchar_find_cstr_off
 @ thiscall -arch=win32 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEI_WI at Z(ptr long long) MSVCP_basic_string_wchar_find_ch
 @ cdecl -arch=win64 ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_K_W_K at Z(ptr long long) MSVCP_basic_string_wchar_find_ch
 @ cdecl -arch=win32 ?find@?$char_traits at D@std@@SAPBDPBDIABD at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDI at Z */
+/* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K at 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 at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIDI at Z */
 /* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KD_K at 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 at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WI at Z */
+/* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K at 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 at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEI_WI at Z */
 /* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_K_W_K at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_ch, 12)




More information about the wine-cvs mailing list