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

Alexandre Julliard julliard at winehq.org
Fri Oct 14 14:14:48 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Oct 14 15:00:51 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 cbe3d69..d5aeff7 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -326,24 +326,24 @@
 @ cdecl -arch=win64 ??$?O_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 wstr) MSVCP_basic_string_wchar_greater_bstr_cstr
 @ cdecl -arch=win32 ??$?O_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(wstr ptr) MSVCP_basic_string_wchar_greater_cstr_bstr
 @ cdecl -arch=win64 ??$?O_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(wstr ptr) MSVCP_basic_string_wchar_greater_cstr_bstr
-@ stub -arch=win32 ??$?PDU?$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 ??$?PDU?$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 ??$?PDU?$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 ??$?PDU?$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 ??$?PDU?$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 ??$?PDU?$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 ??$?PDU?$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_geq
+@ cdecl -arch=win64 ??$?PDU?$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_geq
+@ cdecl -arch=win32 ??$?PDU?$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_geq_bstr_cstr
+@ cdecl -arch=win64 ??$?PDU?$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_geq_bstr_cstr
+@ cdecl -arch=win32 ??$?PDU?$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_geq_cstr_bstr
+@ cdecl -arch=win64 ??$?PDU?$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_geq_cstr_bstr
 @ stub -arch=win32 ??$?PGU?$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 ??$?PGU?$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 ??$?PGU?$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
 @ stub -arch=win64 ??$?PGU?$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 PEBG@Z
 @ stub -arch=win32 ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPBGABV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z
 @ stub -arch=win64 ??$?PGU?$char_traits at G@std@@V?$allocator at G@1@@std@@YA_NPEBGAEBV?$basic_string at GU?$char_traits at G@std@@V?$allocator at G@2@@0@@Z
-@ stub -arch=win32 ??$?P_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 ??$?P_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 ??$?P_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 ??$?P_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 ??$?P_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 ??$?P_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 ??$?P_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_geq
+@ cdecl -arch=win64 ??$?P_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_geq
+@ cdecl -arch=win32 ??$?P_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 wstr) MSVCP_basic_string_wchar_geq_bstr_cstr
+@ cdecl -arch=win64 ??$?P_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 wstr) MSVCP_basic_string_wchar_geq_bstr_cstr
+@ cdecl -arch=win32 ??$?P_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(wstr ptr) MSVCP_basic_string_wchar_geq_cstr_bstr
+@ cdecl -arch=win64 ??$?P_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(wstr ptr) MSVCP_basic_string_wchar_geq_cstr_bstr
 @ stub -arch=win32 ??$_Fabs at M@std@@YAMABV?$complex at M@0 at PAH@Z
 @ stub -arch=win64 ??$_Fabs at M@std@@YAMAEBV?$complex at M@0 at PEAH@Z
 @ stub -arch=win32 ??$_Fabs at N@std@@YANABV?$complex at N@0 at PAH@Z
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
index c95984b..e374159 100644
--- a/dlls/msvcp90/string.c
+++ b/dlls/msvcp90/string.c
@@ -1334,6 +1334,30 @@ MSVCP_bool __cdecl MSVCP_basic_string_char_greater_cstr_bstr(
     return MSVCP_basic_string_char_compare_cstr(right, left) < 0;
 }
 
+/* ??$?PDU?$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 */
+/* ??$?PDU?$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_geq(
+        const basic_string_char *left, const basic_string_char *right)
+{
+    return MSVCP_basic_string_char_compare(left, right) >= 0;
+}
+
+/* ??$?PDU?$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 */
+/* ??$?PDU?$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_geq_bstr_cstr(
+        const basic_string_char *left, const char *right)
+{
+    return MSVCP_basic_string_char_compare_cstr(left, right) >= 0;
+}
+
+/* ??$?PDU?$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 */
+/* ??$?PDU?$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_geq_cstr_bstr(
+        const char *left, const basic_string_char *right)
+{
+    return MSVCP_basic_string_char_compare_cstr(right, left) <= 0;
+}
+
 /* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIPBDII at Z */
 /* ?find@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEBA_KPEBD_K1 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_find_cstr_substr, 16)
@@ -2655,6 +2679,30 @@ MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater_cstr_bstr(
     return MSVCP_basic_string_wchar_compare_cstr(right, left) < 0;
 }
 
+/* ??$?P_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 */
+/* ??$?P_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_geq(
+        const basic_string_wchar *left, const basic_string_wchar *right)
+{
+        return MSVCP_basic_string_wchar_compare(left, right) >= 0;
+}
+
+/* ??$?P_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 */
+/* ??$?P_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_geq_bstr_cstr(
+        const basic_string_wchar *left, const wchar_t *right)
+{
+        return MSVCP_basic_string_wchar_compare_cstr(left, right) >= 0;
+}
+
+/* ??$?P_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 */
+/* ??$?P_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_geq_cstr_bstr(
+        const wchar_t *left, const basic_string_wchar *right)
+{
+        return MSVCP_basic_string_wchar_compare_cstr(right, left) <= 0;
+}
+
 /* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QBEIPB_WII at Z */
 /* ?find@?$basic_string at _WU?$char_traits at _W@std@@V?$allocator at _W@2@@std@@QEBA_KPEB_W_K1 at Z */
 DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_cstr_substr, 16)




More information about the wine-cvs mailing list