Module: wine Branch: master Commit: fd0fcb2a2f4373fb4ae2c31b86eda1ac9d57b245 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fd0fcb2a2f4373fb4ae2c31b86... Author: Piotr Caban <piotr(a)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(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PEB_W@Z(ptr wstr) MSVCP_basic_string_wchar_greater_bstr_cstr @ cdecl -arch=win32 ??$?O_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPB_WABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z(wstr ptr) MSVCP_basic_string_wchar_greater_cstr_bstr @ cdecl -arch=win64 ??$?O_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPEB_WAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z(wstr ptr) MSVCP_basic_string_wchar_greater_cstr_bstr -@ stub -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)0@Z -@ stub -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)0@Z -@ stub -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)PBD@Z -@ stub -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)PEBD@Z -@ stub -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPBDABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0@@Z -@ stub -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPEBDAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0@@Z +@ cdecl -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)0@Z(ptr ptr) MSVCP_basic_string_char_geq +@ cdecl -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)0@Z(ptr ptr) MSVCP_basic_string_char_geq +@ cdecl -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)PBD@Z(ptr str) MSVCP_basic_string_char_geq_bstr_cstr +@ cdecl -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)PEBD@Z(ptr str) MSVCP_basic_string_char_geq_bstr_cstr +@ cdecl -arch=win32 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPBDABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0@@Z(str ptr) MSVCP_basic_string_char_geq_cstr_bstr +@ cdecl -arch=win64 ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPEBDAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0@@Z(str ptr) MSVCP_basic_string_char_geq_cstr_bstr @ stub -arch=win32 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NABV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0(a)0@Z @ stub -arch=win64 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NAEBV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0(a)0@Z @ stub -arch=win32 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NABV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0(a)PBG@Z @ stub -arch=win64 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NAEBV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0(a)PEBG@Z @ stub -arch=win32 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NPBGABV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0@@Z @ stub -arch=win64 ??$?PGU?$char_traits(a)G@std@@V?$allocator(a)G@1@@std@@YA_NPEBGAEBV?$basic_string(a)GU?$char_traits(a)G@std@@V?$allocator(a)G@2@@0@@Z -@ stub -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)0@Z -@ stub -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)0@Z -@ stub -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PB_W@Z -@ stub -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PEB_W@Z -@ stub -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPB_WABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z -@ stub -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPEB_WAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z +@ cdecl -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)0@Z(ptr ptr) MSVCP_basic_string_wchar_geq +@ cdecl -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)0@Z(ptr ptr) MSVCP_basic_string_wchar_geq +@ cdecl -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PB_W@Z(ptr wstr) MSVCP_basic_string_wchar_geq_bstr_cstr +@ cdecl -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PEB_W@Z(ptr wstr) MSVCP_basic_string_wchar_geq_bstr_cstr +@ cdecl -arch=win32 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPB_WABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z(wstr ptr) MSVCP_basic_string_wchar_geq_cstr_bstr +@ cdecl -arch=win64 ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPEB_WAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z(wstr ptr) MSVCP_basic_string_wchar_geq_cstr_bstr @ stub -arch=win32 ??$_Fabs(a)M@std@@YAMABV?$complex(a)M@0(a)PAH@Z @ stub -arch=win64 ??$_Fabs(a)M@std@@YAMAEBV?$complex(a)M@0(a)PEAH@Z @ stub -arch=win32 ??$_Fabs(a)N@std@@YANABV?$complex(a)N@0(a)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(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)0@Z */ +/* ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)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(a)D@std@@V?$allocator(a)D@1@@std@@YA_NABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)PBD@Z */ +/* ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0(a)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(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPBDABV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@0@@Z */ +/* ??$?PDU?$char_traits(a)D@std@@V?$allocator(a)D@1@@std@@YA_NPEBDAEBV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)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(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QBEIPBDII(a)Z */ /* ?find@?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@std@@QEBA_KPEBD_K1(a)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(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)0@Z */ +/* ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)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(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)PB_W@Z */ +/* ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0(a)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(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPB_WABV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@0@@Z */ +/* ??$?P_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@1@@std@@YA_NPEB_WAEBV?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_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(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QBEIPB_WII(a)Z */ /* ?find@?$basic_string(a)_WU?$char_traits(a)_W@std@@V?$allocator(a)_W@2@@std@@QEBA_KPEB_W_K1(a)Z */ DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_wchar_find_cstr_substr, 16)