Piotr Caban : msvcp90: Added basic_string operator== implementation.

Alexandre Julliard julliard at winehq.org
Thu Jun 23 04:10:06 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Jun 22 19:15:05 2011 +0200

msvcp90: Added basic_string operator== implementation.

---

 dlls/msvcp90/msvcp90.spec |   24 +++++++++++-----------
 dlls/msvcp90/string.c     |   48 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 12 deletions(-)

diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 0dbd473..abed9c4 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -86,12 +86,12 @@
 @ stub -arch=win64 ??$?6_WU?$char_traits at _W@std@@@std@@YAAEAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AEAV10@_W at Z
 @ stub -arch=win32 ??$?6_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AAV10@ABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z
 @ stub -arch=win64 ??$?6_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YAAEAV?$basic_ostream at _WU?$char_traits at _W@std@@@0 at AEAV10@AEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z
-@ stub -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z
-@ stub -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z
-@ stub -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z
-@ stub -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z
-@ stub -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z
-@ stub -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z
+@ cdecl -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z(ptr ptr) MSVCP_basic_string_char_equal
+@ cdecl -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z(ptr ptr) MSVCP_basic_string_char_equal
+@ cdecl -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z(ptr str) MSVCP_basic_string_char_equal_str_cstr
+@ cdecl -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z(ptr str) MSVCP_basic_string_char_equal_str_cstr
+@ cdecl -arch=win32 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z(str ptr) MSVCP_basic_string_char_equal_cstr_str
+@ cdecl -arch=win64 ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z(str ptr) MSVCP_basic_string_char_equal_cstr_str
 @ stub -arch=win32 ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z
 @ stub -arch=win64 ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at 0@Z
 @ stub -arch=win32 ??$?8GU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0 at PBG@Z
@@ -116,12 +116,12 @@
 @ stub -arch=win64 ??$?8O at std@@YA_NAEBV?$complex at O@0 at 0@Z
 @ stub -arch=win32 ??$?8O at std@@YA_NABV?$complex at O@0 at ABO@Z
 @ stub -arch=win64 ??$?8O at std@@YA_NAEBV?$complex at O@0 at AEBO@Z
-@ stub -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z
-@ stub -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z
-@ stub -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z
-@ stub -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z
-@ stub -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z
-@ stub -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z
+@ cdecl -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z(ptr ptr) MSVCP_basic_string_wchar_equal
+@ cdecl -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z(ptr ptr) MSVCP_basic_string_wchar_equal
+@ cdecl -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z(ptr ptr) MSVCP_basic_string_wchar_equal_str_cstr
+@ cdecl -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z(ptr ptr) MSVCP_basic_string_wchar_equal_str_cstr
+@ cdecl -arch=win32 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z(ptr ptr) MSVCP_basic_string_wchar_equal_cstr_str
+@ cdecl -arch=win64 ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z(ptr ptr) MSVCP_basic_string_wchar_equal_cstr_str
 @ stub -arch=win32 ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z
 @ stub -arch=win64 ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z
 @ stub -arch=win32 ??$?9DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index 88a542a..7bcc663 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -1042,6 +1042,30 @@ int __thiscall MSVCP_basic_string_char_compare(
             basic_string_char_const_ptr(compare), compare->size);
 }
 
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_char_equal(
+        const basic_string_char *left, const basic_string_char *right)
+{
+    return MSVCP_basic_string_char_compare(left, right) == 0;
+}
+
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PBD@Z */
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at PEBD@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_char_equal_str_cstr(
+        const basic_string_char *left, const char *right)
+{
+    return MSVCP_basic_string_char_compare_cstr(left, right) == 0;
+}
+
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPBDABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
+/* ??$?8DU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NPEBDAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0@@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_char_equal_cstr_str(
+        const char *left, const basic_string_char *right)
+{
+    return MSVCP_basic_string_char_compare_cstr(right, left) == 0;
+}
+
 /* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
 /* ??$?MDU?$char_traits at D@std@@V?$allocator at D@1@@std@@YA_NAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@0 at 0@Z */
 MSVCP_bool __cdecl MSVCP_basic_string_char_lower(
@@ -1812,6 +1836,30 @@ int __thiscall MSVCP_basic_string_wchar_compare(
             basic_string_wchar_const_ptr(compare), compare->size);
 }
 
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal(
+        const basic_string_wchar *left, const basic_string_wchar *right)
+{
+    return MSVCP_basic_string_wchar_compare(left, right) == 0;
+}
+
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PB_W@Z */
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at PEB_W@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal_str_cstr(
+        const basic_string_wchar *left, const wchar_t *right)
+{
+    return MSVCP_basic_string_wchar_compare_cstr(left, right) == 0;
+}
+
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPB_WABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
+/* ??$?8_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NPEB_WAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0@@Z */
+MSVCP_bool __cdecl MSVCP_basic_string_wchar_equal_cstr_str(
+        const wchar_t *left, const basic_string_wchar *right)
+{
+    return MSVCP_basic_string_wchar_compare_cstr(right, left) == 0;
+}
+
 /* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NABV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
 /* ??$?M_WU?$char_traits at _W@std@@V?$allocator at _W@1@@std@@YA_NAEBV?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@0 at 0@Z */
 MSVCP_bool __cdecl MSVCP_basic_string_wchar_lower(




More information about the wine-cvs mailing list