Piotr Caban : msvcp90: Added basic_string::operator> implementation.
Module: wine Branch: master Commit: 94a379a520cc767208611ec9aeed96c861567efb URL: http://source.winehq.org/git/wine.git/?a=commit;h=94a379a520cc767208611ec9ae... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Oct 14 15:00:41 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 4f76715..cbe3d69 100644 --- a/dlls/msvcp90/msvcp90.spec +++ b/dlls/msvcp90/msvcp90.spec @@ -308,24 +308,24 @@ @ cdecl -arch=win64 ??$?N_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_leq_bstr_cstr @ cdecl -arch=win32 ??$?N_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_leq_cstr_bstr @ cdecl -arch=win64 ??$?N_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_leq_cstr_bstr -@ stub -arch=win32 ??$?ODU?$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 ??$?ODU?$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 ??$?ODU?$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 ??$?ODU?$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 ??$?ODU?$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 ??$?ODU?$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 ??$?ODU?$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_greater +@ cdecl -arch=win64 ??$?ODU?$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_greater +@ cdecl -arch=win32 ??$?ODU?$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_greater_bstr_cstr +@ cdecl -arch=win64 ??$?ODU?$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_greater_bstr_cstr +@ cdecl -arch=win32 ??$?ODU?$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_greater_cstr_bstr +@ cdecl -arch=win64 ??$?ODU?$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_greater_cstr_bstr @ stub -arch=win32 ??$?OGU?$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 ??$?OGU?$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 ??$?OGU?$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 ??$?OGU?$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 ??$?OGU?$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 ??$?OGU?$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 ??$?O_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 ??$?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)0@Z -@ stub -arch=win32 ??$?O_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 ??$?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 -@ stub -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 -@ stub -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 +@ cdecl -arch=win32 ??$?O_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_greater +@ 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)0@Z(ptr ptr) MSVCP_basic_string_wchar_greater +@ cdecl -arch=win32 ??$?O_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_greater_bstr_cstr +@ 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 diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index 3a780ed..c95984b 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -1310,6 +1310,30 @@ MSVCP_bool __cdecl MSVCP_basic_string_char_leq_cstr_bstr( return MSVCP_basic_string_char_compare_cstr(right, left) >= 0; } +/* ??$?ODU?$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 */ +/* ??$?ODU?$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_greater( + const basic_string_char *left, const basic_string_char *right) +{ + return MSVCP_basic_string_char_compare(left, right) > 0; +} + +/* ??$?ODU?$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 */ +/* ??$?ODU?$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_greater_bstr_cstr( + const basic_string_char *left, const char *right) +{ + return MSVCP_basic_string_char_compare_cstr(left, right) > 0; +} + +/* ??$?ODU?$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 */ +/* ??$?ODU?$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_greater_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) @@ -2607,6 +2631,30 @@ MSVCP_bool __cdecl MSVCP_basic_string_wchar_leq_cstr_bstr( return MSVCP_basic_string_wchar_compare_cstr(right, left) >= 0; } +/* ??$?O_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 */ +/* ??$?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)0@Z */ +MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater( + const basic_string_wchar *left, const basic_string_wchar *right) +{ + return MSVCP_basic_string_wchar_compare(left, right) > 0; +} + +/* ??$?O_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 */ +/* ??$?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 */ +MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater_bstr_cstr( + const basic_string_wchar *left, const wchar_t *right) +{ + return MSVCP_basic_string_wchar_compare_cstr(left, right) > 0; +} + +/* ??$?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 */ +/* ??$?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 */ +MSVCP_bool __cdecl MSVCP_basic_string_wchar_greater_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)
participants (1)
-
Alexandre Julliard