[PATCH] msvcp100: add time_get::do_get and time_get::get functions

Zebediah Figura z.figura12 at gmail.com
Tue Oct 24 10:42:32 CDT 2017


From: Vijay Kiran Kamuju <infyquest at gmail.com>

v4: fixed CALL_VTBL_FUNC offsets

Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/msvcp100/msvcp100.spec         |  8 ++++----
 dlls/msvcp110/msvcp110.spec         |  8 ++++----
 dlls/msvcp120/msvcp120.spec         |  8 ++++----
 dlls/msvcp120_app/msvcp120_app.spec |  8 ++++----
 dlls/msvcp140/msvcp140.spec         |  8 ++++----
 dlls/msvcp90/locale.c               | 36 +++++++++++++++++++++++++++++++++++-
 6 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec
index d557a4a064..6d0f2ec900 100644
--- a/dlls/msvcp100/msvcp100.spec
+++ b/dlls/msvcp100/msvcp100.spec
@@ -1453,8 +1453,8 @@
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_K at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_uint64
 @ thiscall -arch=win32 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_do_get_bool
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_bool
-@ stub -arch=win32 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=win32 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
+@ cdecl -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
 @ stub -arch=win32 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=win64 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
 @ stub -arch=win32 ?do_get@?$time_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
@@ -1852,8 +1852,8 @@
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_K at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_get_uint64
 @ thiscall -arch=win32 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_get_bool
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_get_bool
-@ stub -arch=win32 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=win32 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
+@ cdecl -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
 @ stub -arch=win32 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@PEBD4 at Z
 @ stub -arch=win32 ?get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec
index aa8adaf387..8b92257cc0 100644
--- a/dlls/msvcp110/msvcp110.spec
+++ b/dlls/msvcp110/msvcp110.spec
@@ -2046,8 +2046,8 @@
 @ thiscall -arch=i386 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_do_get_bool
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_bool
 @ stub -arch=arm ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
+@ cdecl -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
 @ stub -arch=arm ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=i386 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=win64 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
@@ -2596,8 +2596,8 @@
 @ thiscall -arch=i386 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_get_bool
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_get_bool
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
+@ cdecl -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@PEBD4 at Z
diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec
index e26e3cbc40..fef40dcc39 100644
--- a/dlls/msvcp120/msvcp120.spec
+++ b/dlls/msvcp120/msvcp120.spec
@@ -2006,8 +2006,8 @@
 @ thiscall -arch=i386 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_do_get_bool
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_bool
 @ stub -arch=arm ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
+@ cdecl -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
 @ stub -arch=arm ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=i386 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=win64 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
@@ -2538,8 +2538,8 @@
 @ thiscall -arch=i386 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) num_get_wchar_get_bool
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_get_bool
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
+@ cdecl -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@PEBD4 at Z
diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec
index 03df113407..9ceed7ffa2 100644
--- a/dlls/msvcp120_app/msvcp120_app.spec
+++ b/dlls/msvcp120_app/msvcp120_app.spec
@@ -2006,8 +2006,8 @@
 @ thiscall -arch=i386 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) msvcp120.?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) msvcp120.?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z
 @ stub -arch=arm ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) msvcp120.?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
+@ cdecl -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) msvcp120.?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
 @ stub -arch=arm ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=i386 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=win64 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
@@ -2538,8 +2538,8 @@
 @ thiscall -arch=i386 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z(ptr ptr ptr long ptr long ptr ptr ptr) msvcp120.?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AAVios_base at 2@AAHAA_N at Z
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) msvcp120.?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) msvcp120.?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
+@ cdecl -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) msvcp120.?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
 @ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@PEBD4 at Z
diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec
index 08f1ff479f..a60226227c 100644
--- a/dlls/msvcp140/msvcp140.spec
+++ b/dlls/msvcp140/msvcp140.spec
@@ -1922,8 +1922,8 @@
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_K at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_uint64
 @ cdecl -arch=win64 ?do_get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_do_get_bool
 @ stub -arch=arm ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
-@ stub -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ thiscall -arch=i386 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
+@ cdecl -arch=win64 ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_do_get
 @ stub -arch=arm ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=i386 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=win64 ?do_get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
@@ -2488,9 +2488,9 @@
 @ cdecl -arch=win64 ?get@?$num_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@2 at V32@0AEAVios_base at 2@AEAHAEA_N at Z(ptr ptr ptr ptr ptr ptr ptr) num_get_wchar_get_bool
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=arm ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
-@ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
+@ thiscall -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
 @ stub -arch=i386 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBD4 at Z
-@ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z
+@ cdecl -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z(ptr ptr ptr long ptr long ptr ptr ptr long long) time_get_char_get
 @ stub -arch=win64 ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@PEBD4 at Z
 @ stub -arch=arm ?get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z
 @ stub -arch=arm ?get@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@QBA?AV?$istreambuf_iterator at GU?$char_traits at G@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@PBG4 at Z
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index 5a5e5558fc..faf6caf8c6 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -9974,6 +9974,36 @@ dateorder __thiscall time_get_char_date_order(const time_get_char *this)
     return call_time_get_char_do_date_order(this);
 }
 
+/* ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@DD at Z */
+/* ?do_get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@DD at Z */
+DEFINE_THISCALL_WRAPPER(time_get_char_do_get, 36) /* virtual */
+#if _MSVCP_VER <= 100
+#define call_time_get_char_do_get(this, ret, s, e, base, err, t, fmt, mod) CALL_VTBL_FUNC(this, 28, istreambuf_iterator_char*, \
+        (const time_get_char*, istreambuf_iterator_char*, istreambuf_iterator_char, istreambuf_iterator_char, ios_base*, int*, struct tm*, char, char), \
+        (this, ret, s, e, base, err, t, fmt, mod))
+#else
+#define call_time_get_char_do_get(this, ret, s, e, base, err, t, fmt, mod) CALL_VTBL_FUNC(this, 36, istreambuf_iterator_char*, \
+        (const time_get_char*, istreambuf_iterator_char*, istreambuf_iterator_char, istreambuf_iterator_char, ios_base*, int*, struct tm*, char, char), \
+        (this, ret, s, e, base, err, t, fmt, mod))
+#endif
+istreambuf_iterator_char* __thiscall time_get_char_do_get(const time_get_char *this,
+        istreambuf_iterator_char *ret, istreambuf_iterator_char s, istreambuf_iterator_char e,
+        ios_base *base, int *err, struct tm *t, char fmt, char mod)
+{
+    FIXME("(%p %p %p %p %p %c %c) stub\n", this, ret, base, err, t, fmt, mod);
+    return NULL;
+}
+
+/* ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@@Z */
+/* ?get@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@@Z */
+DEFINE_THISCALL_WRAPPER(time_get_char_get, 36)
+istreambuf_iterator_char* __thiscall time_get_char_get(const time_get_char *this,
+        istreambuf_iterator_char *ret, istreambuf_iterator_char s, istreambuf_iterator_char e,
+        ios_base *base, int *err, struct tm *t, char fmt, char mod)
+{
+    return call_time_get_char_do_get(this, ret, s, e, base, err, t, fmt, mod);
+}
+
 /* ?do_get_date@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MBE?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AAVios_base at 2@AAHPAUtm@@@Z */
 /* ?do_get_date@?$time_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@MEBA?AV?$istreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@0AEAVios_base at 2@AEAHPEAUtm@@@Z */
 DEFINE_THISCALL_WRAPPER(time_get_char_do_get_date, 36) /* virtual */
@@ -11617,7 +11647,11 @@ void __asm_dummy_vtables(void) {
             VTABLE_ADD_FUNC(time_get_char_do_get_date)
             VTABLE_ADD_FUNC(time_get_char_do_get_weekday)
             VTABLE_ADD_FUNC(time_get_char_do_get_monthname)
-            VTABLE_ADD_FUNC(time_get_char_do_get_year));
+            VTABLE_ADD_FUNC(time_get_char_do_get_year)
+#if _MSVCP_VER >= 100
+            VTABLE_ADD_FUNC(time_get_char_do_get)
+#endif
+            );
 #ifndef __GNUC__
 }
 #endif
-- 
2.14.1




More information about the wine-patches mailing list