From fb1e8dad4c6bb7afd40830badaf6d93507985e69 Mon Sep 17 00:00:00 2001 From: Daniel Lehman Date: Mon, 4 Apr 2016 21:08:12 -0700 Subject: [PATCH] msvcp90: Add codecvt::do_encoding that returns 0 seems to be only msvcp90 that returns 1 all others return 0 (which seems more correct anyway) Signed-off-by: Daniel Lehman --- dlls/msvcp110/msvcp110.spec | 12 ++++++------ dlls/msvcp120/msvcp120.spec | 12 ++++++------ dlls/msvcp120_app/msvcp120_app.spec | 12 ++++++------ dlls/msvcp60/msvcp60.spec | 4 ++-- dlls/msvcp70/msvcp70.spec | 8 ++++---- dlls/msvcp71/msvcp71.spec | 8 ++++---- dlls/msvcp80/msvcp80.spec | 8 ++++---- dlls/msvcp90/locale.c | 15 +++++++++++++++ 8 files changed, 47 insertions(+), 32 deletions(-) diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index ee2d62f..ced9795 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -1937,12 +1937,12 @@ @ stub -arch=arm ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBA?AW4dateorder@time_base@2@XZ @ stub -arch=i386 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ @ stub -arch=win64 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEBA?AW4dateorder@time_base@2@XZ -@ stub -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ cdecl -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ cdecl -arch=arm ?do_encoding@codecvt_base@std@@MBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=i386 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec index ddb28c4..374a418 100644 --- a/dlls/msvcp120/msvcp120.spec +++ b/dlls/msvcp120/msvcp120.spec @@ -1897,12 +1897,12 @@ @ stub -arch=arm ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBA?AW4dateorder@time_base@2@XZ @ stub -arch=i386 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ @ stub -arch=win64 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEBA?AW4dateorder@time_base@2@XZ -@ stub -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ cdecl -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ cdecl -arch=arm ?do_encoding@codecvt_base@std@@MBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=i386 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec index 4027066..f16402d 100644 --- a/dlls/msvcp120_app/msvcp120_app.spec +++ b/dlls/msvcp120_app/msvcp120_app.spec @@ -1897,12 +1897,12 @@ @ stub -arch=arm ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBA?AW4dateorder@time_base@2@XZ @ stub -arch=i386 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ @ stub -arch=win64 ?do_date_order@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEBA?AW4dateorder@time_base@2@XZ -@ stub -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ -@ stub -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ cdecl -arch=arm ?do_encoding@?$codecvt@GDH@std@@MBAHXZ(ptr) msvcp120.?do_encoding@?$codecvt@GDH@std@@MBAHXZ +@ thiscall -arch=i386 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) msvcp120.?do_encoding@?$codecvt@GDH@std@@MBEHXZ +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) msvcp120.?do_encoding@?$codecvt@GDH@std@@MEBAHXZ +@ cdecl -arch=arm ?do_encoding@?$codecvt@_WDH@std@@MBAHXZ(ptr) msvcp120.?do_encoding@?$codecvt@_WDH@std@@MBAHXZ +@ thiscall -arch=i386 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) msvcp120.?do_encoding@?$codecvt@_WDH@std@@MBEHXZ +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) msvcp120.?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ @ cdecl -arch=arm ?do_encoding@codecvt_base@std@@MBAHXZ(ptr) msvcp120.?do_encoding@codecvt_base@std@@MBAHXZ @ thiscall -arch=i386 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) msvcp120.?do_encoding@codecvt_base@std@@MBEHXZ @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) msvcp120.?do_encoding@codecvt_base@std@@MEBAHXZ diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec index 9d8daf8..7bf7b59 100644 --- a/dlls/msvcp60/msvcp60.spec +++ b/dlls/msvcp60/msvcp60.spec @@ -2665,8 +2665,8 @@ @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@D@std@@MEBADXZ(ptr) numpunct_char_do_decimal_point @ thiscall -arch=win32 ?do_decimal_point@?$numpunct@G@std@@MBEGXZ(ptr) numpunct_wchar_do_decimal_point @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@G@std@@MEBAGXZ(ptr) numpunct_wchar_do_decimal_point -@ stub -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ +@ thiscall -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ thiscall -arch=win32 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=win32 ?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ(ptr ptr) numpunct_char_do_falsename diff --git a/dlls/msvcp70/msvcp70.spec b/dlls/msvcp70/msvcp70.spec index f97c87c..1347b39 100644 --- a/dlls/msvcp70/msvcp70.spec +++ b/dlls/msvcp70/msvcp70.spec @@ -2691,10 +2691,10 @@ @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@G@std@@MEBAGXZ(ptr) numpunct_wchar_do_decimal_point @ thiscall -arch=win32 ?do_decimal_point@?$numpunct@_W@std@@MBE_WXZ(ptr) numpunct_wchar_do_decimal_point @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@_W@std@@MEBA_WXZ(ptr) numpunct_wchar_do_decimal_point -@ stub -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ thiscall -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ thiscall -arch=i386 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=win32 ?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ(ptr ptr) numpunct_char_do_falsename diff --git a/dlls/msvcp71/msvcp71.spec b/dlls/msvcp71/msvcp71.spec index 46e5213..d708825 100644 --- a/dlls/msvcp71/msvcp71.spec +++ b/dlls/msvcp71/msvcp71.spec @@ -2849,10 +2849,10 @@ @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@G@std@@MEBAGXZ(ptr) numpunct_wchar_do_decimal_point @ thiscall -arch=win32 ?do_decimal_point@?$numpunct@_W@std@@MBE_WXZ(ptr) numpunct_wchar_do_decimal_point @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@_W@std@@MEBA_WXZ(ptr) numpunct_wchar_do_decimal_point -@ stub -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ thiscall -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ thiscall -arch=win32 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=win32 ?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ(ptr ptr) numpunct_char_do_falsename diff --git a/dlls/msvcp80/msvcp80.spec b/dlls/msvcp80/msvcp80.spec index f6bec69..24d034a 100644 --- a/dlls/msvcp80/msvcp80.spec +++ b/dlls/msvcp80/msvcp80.spec @@ -3290,10 +3290,10 @@ @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@G@std@@MEBAGXZ(ptr) numpunct_wchar_do_decimal_point @ thiscall -arch=win32 ?do_decimal_point@?$numpunct@_W@std@@MBE_WXZ(ptr) numpunct_wchar_do_decimal_point @ cdecl -arch=win64 ?do_decimal_point@?$numpunct@_W@std@@MEBA_WXZ(ptr) numpunct_wchar_do_decimal_point -@ stub -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ -@ stub -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ -@ stub -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ +@ thiscall -arch=win32 ?do_encoding@?$codecvt@GDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding +@ thiscall -arch=win32 ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ(ptr) codecvt_wchar_do_encoding +@ cdecl -arch=win64 ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ(ptr) codecvt_wchar_do_encoding @ thiscall -arch=i386 ?do_encoding@codecvt_base@std@@MBEHXZ(ptr) codecvt_base_do_encoding @ cdecl -arch=win64 ?do_encoding@codecvt_base@std@@MEBAHXZ(ptr) codecvt_base_do_encoding @ thiscall -arch=win32 ?do_falsename@?$numpunct@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ(ptr ptr) numpunct_char_do_falsename diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c index f3ad140..ffb6745 100644 --- a/dlls/msvcp90/locale.c +++ b/dlls/msvcp90/locale.c @@ -3784,6 +3784,17 @@ int __thiscall codecvt_wchar_do_max_length(const codecvt_wchar *this) return MB_LEN_MAX; } +/* ?do_encoding@?$codecvt@GDH@std@@MBEHXZ */ +/* ?do_encoding@?$codecvt@GDH@std@@MEBAHXZ */ +/* ?do_encoding@?$codecvt@_WDH@std@@MBEHXZ */ +/* ?do_encoding@?$codecvt@_WDH@std@@MEBAHXZ */ +DEFINE_THISCALL_WRAPPER(codecvt_wchar_do_encoding, 4) +int __thiscall codecvt_wchar_do_encoding(const codecvt_wchar *this) +{ + TRACE("(%p)\n", this); + return 0; +} + /* ?do_in@?$codecvt@GDH@std@@MBEHAAHPBD1AAPBDPAG3AAPAG@Z */ /* ?do_in@?$codecvt@GDH@std@@MEBAHAEAHPEBD1AEAPEBDPEAG3AEAPEAG@Z */ /* ?do_in@?$codecvt@_WDH@std@@MBEHAAHPBD1AAPBDPA_W3AAPA_W@Z */ @@ -11316,7 +11327,11 @@ void __asm_dummy_vtables(void) { #endif VTABLE_ADD_FUNC(codecvt_wchar_do_always_noconv) VTABLE_ADD_FUNC(codecvt_wchar_do_max_length) +#if _MSVCP_VER == 90 VTABLE_ADD_FUNC(codecvt_base_do_encoding) +#else + VTABLE_ADD_FUNC(codecvt_wchar_do_encoding) +#endif VTABLE_ADD_FUNC(codecvt_wchar_do_in) VTABLE_ADD_FUNC(codecvt_wchar_do_out) VTABLE_ADD_FUNC(codecvt_wchar_do_unshift) -- 1.9.5