Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e547d87a
Commit
e547d87a
authored
Aug 15, 2018
by
Piotr Caban
Committed by
Alexandre Julliard
Aug 15, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp90: Add time_get<char>::_Getint implementation.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
5a4112c7
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
188 additions
and
16 deletions
+188
-16
msvcp110.spec
dlls/msvcp110/msvcp110.spec
+2
-2
msvcp120.spec
dlls/msvcp120/msvcp120.spec
+2
-2
msvcp120_app.spec
dlls/msvcp120_app/msvcp120_app.spec
+2
-2
locale.c
dlls/msvcp90/locale.c
+51
-6
msvcp90.spec
dlls/msvcp90/msvcp90.spec
+8
-4
ios.c
dlls/msvcp90/tests/ios.c
+123
-0
No files found.
dlls/msvcp110/msvcp110.spec
View file @
e547d87a
...
...
@@ -448,7 +448,7 @@
@ cdecl -arch=arm ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAA@XZ(ptr) num_put_wchar_dtor
@ thiscall -arch=i386 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ(ptr) num_put_wchar_dtor
@ cdecl -arch=win64 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEAA@XZ(ptr) num_put_wchar_dtor
@
stub -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ
@
cdecl -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ(ptr) time_get_char_dtor
@ thiscall -arch=win32 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ(ptr) time_get_char_dtor
@ cdecl -arch=win64 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ(ptr) time_get_char_dtor
@ stub -arch=arm ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAA@XZ
...
...
@@ -1032,7 +1032,7 @@
@ cdecl -arch=arm ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAAXXZ(ptr) num_put_wchar_ctor
@ thiscall -arch=i386 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAEXXZ(ptr) num_put_wchar_ctor
@ cdecl -arch=win64 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEAAXXZ(ptr) num_put_wchar_ctor
@
stub -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ
@
cdecl -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ(ptr) time_get_char_ctor
@ thiscall -arch=win32 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ(ptr) time_get_char_ctor
@ cdecl -arch=win64 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ(ptr) time_get_char_ctor
@ stub -arch=arm ??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAAXXZ
...
...
dlls/msvcp120/msvcp120.spec
View file @
e547d87a
...
...
@@ -448,7 +448,7 @@
@ cdecl -arch=arm ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAA@XZ(ptr) num_put_wchar_dtor
@ thiscall -arch=i386 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ(ptr) num_put_wchar_dtor
@ cdecl -arch=win64 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEAA@XZ(ptr) num_put_wchar_dtor
@
stub -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ
@
cdecl -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ(ptr) time_get_char_dtor
@ thiscall -arch=win32 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ(ptr) time_get_char_dtor
@ cdecl -arch=win64 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ(ptr) time_get_char_dtor
@ stub -arch=arm ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAA@XZ
...
...
@@ -1032,7 +1032,7 @@
@ cdecl -arch=arm ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAAXXZ(ptr) num_put_wchar_ctor
@ thiscall -arch=i386 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAEXXZ(ptr) num_put_wchar_ctor
@ cdecl -arch=win64 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEAAXXZ(ptr) num_put_wchar_ctor
@
stub -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ
@
cdecl -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ(ptr) time_get_char_ctor
@ thiscall -arch=win32 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ(ptr) time_get_char_ctor
@ cdecl -arch=win64 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ(ptr) time_get_char_ctor
@ stub -arch=arm ??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAAXXZ
...
...
dlls/msvcp120_app/msvcp120_app.spec
View file @
e547d87a
...
...
@@ -448,7 +448,7 @@
@ cdecl -arch=arm ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAA@XZ(ptr) msvcp120.??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAA@XZ
@ thiscall -arch=i386 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ(ptr) msvcp120.??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MAE@XZ
@ cdecl -arch=win64 ??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEAA@XZ(ptr) msvcp120.??1?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@MEAA@XZ
@
stub -arch=arm
??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ
@
cdecl -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ(ptr) msvcp120.
??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ
@ thiscall -arch=win32 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ(ptr) msvcp120.??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ
@ cdecl -arch=win64 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ(ptr) msvcp120.??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ
@ stub -arch=arm ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAA@XZ
...
...
@@ -1032,7 +1032,7 @@
@ cdecl -arch=arm ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAAXXZ(ptr) msvcp120.??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAAXXZ
@ thiscall -arch=i386 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAEXXZ(ptr) msvcp120.??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QAEXXZ
@ cdecl -arch=win64 ??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEAAXXZ(ptr) msvcp120.??_F?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@QEAAXXZ
@
stub -arch=arm
??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ
@
cdecl -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ(ptr) msvcp120.
??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ
@ thiscall -arch=win32 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ(ptr) msvcp120.??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ
@ cdecl -arch=win64 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ(ptr) msvcp120.??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ
@ stub -arch=arm ??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAAXXZ
...
...
dlls/msvcp90/locale.c
View file @
e547d87a
...
...
@@ -9946,10 +9946,55 @@ static time_get_char* time_get_char_use_facet(const locale *loc)
/* ?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AEBAHAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAEAH@Z */
int
__cdecl
time_get_char__Getint
(
const
time_get_char
*
this
,
istreambuf_iterator_char
*
b
,
istreambuf_iterator_char
*
e
,
int
unk1
,
int
unk2
,
int
*
val
)
int
min_val
,
int
max_val
,
int
*
val
)
{
FIXME
(
"(%p %p %p %d %d %p) stub
\n
"
,
this
,
b
,
e
,
unk1
,
unk2
,
val
);
return
0
;
BOOL
got_digit
=
FALSE
;
int
len
=
0
,
ret
=
0
;
char
buf
[
16
];
TRACE
(
"(%p %p %p %d %d %p)
\n
"
,
this
,
b
,
e
,
min_val
,
max_val
,
val
);
istreambuf_iterator_char_val
(
b
);
if
(
b
->
strbuf
&&
(
b
->
val
==
'-'
||
b
->
val
==
'+'
))
{
buf
[
len
++
]
=
b
->
val
;
istreambuf_iterator_char_inc
(
b
);
}
if
(
b
->
strbuf
&&
b
->
val
==
'0'
)
{
got_digit
=
TRUE
;
buf
[
len
++
]
=
'0'
;
istreambuf_iterator_char_inc
(
b
);
}
while
(
b
->
strbuf
&&
b
->
val
==
'0'
)
istreambuf_iterator_char_inc
(
b
);
for
(;
b
->
strbuf
&&
b
->
val
>=
'0'
&&
b
->
val
<=
'9'
;
istreambuf_iterator_char_inc
(
b
))
{
if
(
len
<
ARRAY_SIZE
(
buf
)
-
1
)
buf
[
len
]
=
b
->
val
;
got_digit
=
TRUE
;
len
++
;
}
if
(
!
b
->
strbuf
)
ret
|=
IOSTATE_eofbit
;
if
(
got_digit
&&
len
<
ARRAY_SIZE
(
buf
)
-
1
)
{
int
v
,
err
;
buf
[
len
]
=
0
;
v
=
_Stolx
(
buf
,
NULL
,
10
,
&
err
);
if
(
err
||
v
<
min_val
||
v
>
max_val
)
ret
|=
IOSTATE_failbit
;
else
*
val
=
v
;
}
else
ret
|=
IOSTATE_failbit
;
return
ret
;
}
/* ?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ */
...
...
@@ -9994,8 +10039,8 @@ istreambuf_iterator_char* __thiscall time_get_char_do_get(const time_get_char *t
return
NULL
;
}
/* ?get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@@Z */
/* ?get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@@Z */
/* ?get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@
DD
@Z */
/* ?get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEBA?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AEAVios_base@2@AEAHPEAUtm@@
DD
@Z */
DEFINE_THISCALL_WRAPPER
(
time_get_char_get
,
44
)
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
,
...
...
@@ -10614,7 +10659,7 @@ void __cdecl locale__Locimp__Makewloc(const _Locinfo *locinfo, category cat, loc
/* ?_Makexloc@_Locimp@locale@std@@CAXABV_Locinfo@3@HPAV123@PBV23@@Z */
/* ?_Makexloc@_Locimp@locale@std@@CAXAEBV_Locinfo@3@HPEAV123@PEBV23@@Z */
/* List of missing facets:
* messages, money_get, money_put, moneypunct, moneypunct
, time_get
* messages, money_get, money_put, moneypunct, moneypunct
*/
void
__cdecl
locale__Locimp__Makexloc
(
const
_Locinfo
*
locinfo
,
category
cat
,
locale__Locimp
*
locimp
,
const
locale
*
loc
)
{
...
...
dlls/msvcp90/msvcp90.spec
View file @
e547d87a
...
...
@@ -672,7 +672,8 @@
@ cdecl -arch=arm ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAA@W4_Uninitialized@1@@Z(ptr long long) basic_istream_wchar_ctor_uninitialized
@ thiscall -arch=i386 ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAE@W4_Uninitialized@1@@Z(ptr long long) basic_istream_wchar_ctor_uninitialized
@ cdecl -arch=win64 ??0?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAA@W4_Uninitialized@1@@Z(ptr long long) basic_istream_wchar_ctor_uninitialized
@ thiscall -arch=win32 ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z(ptr ptr long long) basic_istringstream_char_ctor_str
@ cdecl -arch=arm ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAA@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z(ptr ptr long long) basic_istringstream_char_ctor_str
@ thiscall -arch=i386 ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z(ptr ptr long long) basic_istringstream_char_ctor_str
@ cdecl -arch=win64 ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z(ptr ptr long long) basic_istringstream_char_ctor_str
@ thiscall -arch=win32 ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z(ptr long long) basic_istringstream_char_ctor_mode
@ cdecl -arch=win64 ??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@H@Z(ptr long long) basic_istringstream_char_ctor_mode
...
...
@@ -1268,7 +1269,8 @@
@ cdecl -arch=arm ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAA@XZ(ptr) basic_istream_wchar_dtor
@ thiscall -arch=i386 ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UAE@XZ(ptr) basic_istream_wchar_dtor
@ cdecl -arch=win64 ??1?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAA@XZ(ptr) basic_istream_wchar_dtor
@ thiscall -arch=win32 ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ(ptr) basic_istringstream_char_dtor
@ cdecl -arch=arm ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAA@XZ(ptr) basic_istringstream_char_dtor
@ thiscall -arch=i386 ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ(ptr) basic_istringstream_char_dtor
@ cdecl -arch=win64 ??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ(ptr) basic_istringstream_char_dtor
@ thiscall -arch=win32 ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UAE@XZ(ptr) basic_istringstream_wchar_dtor
@ cdecl -arch=win64 ??1?$basic_istringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@UEAA@XZ(ptr) basic_istringstream_wchar_dtor
...
...
@@ -1400,7 +1402,8 @@
@ cdecl -arch=win64 ??1?$numpunct@G@std@@MEAA@XZ(ptr) numpunct_wchar_dtor
@ thiscall -arch=win32 ??1?$numpunct@_W@std@@MAE@XZ(ptr) numpunct_wchar_dtor
@ cdecl -arch=win64 ??1?$numpunct@_W@std@@MEAA@XZ(ptr) numpunct_wchar_dtor
@ thiscall -arch=win32 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ(ptr) time_get_char_dtor
@ cdecl -arch=arm ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ(ptr) time_get_char_dtor
@ thiscall -arch=i386 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ(ptr) time_get_char_dtor
@ cdecl -arch=win64 ??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ(ptr) time_get_char_dtor
@ stub -arch=win32 ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MAE@XZ
@ stub -arch=win64 ??1?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MEAA@XZ
...
...
@@ -2307,7 +2310,8 @@
@ cdecl -arch=win64 ??_F?$numpunct@G@std@@QEAAXXZ(ptr) numpunct_short_ctor
@ thiscall -arch=win32 ??_F?$numpunct@_W@std@@QAEXXZ(ptr) numpunct_wchar_ctor
@ cdecl -arch=win64 ??_F?$numpunct@_W@std@@QEAAXXZ(ptr) numpunct_wchar_ctor
@ thiscall -arch=win32 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ(ptr) time_get_char_ctor
@ cdecl -arch=arm ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ(ptr) time_get_char_ctor
@ thiscall -arch=i386 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ(ptr) time_get_char_ctor
@ cdecl -arch=win64 ??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ(ptr) time_get_char_ctor
@ stub -arch=win32 ??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QAEXXZ
@ stub -arch=win64 ??_F?$time_get@GV?$istreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@QEAAXXZ
...
...
dlls/msvcp90/tests/ios.c
View file @
e547d87a
...
...
@@ -186,6 +186,13 @@ typedef struct {
locale
*
loc
;
}
basic_streambuf_char
;
/* class istreambuf_iterator<char> */
typedef
struct
{
basic_streambuf_char
*
strbuf
;
MSVCP_bool
got
;
char
val
;
}
istreambuf_iterator_char
;
/* class basic_streambuf<wchar> */
typedef
struct
{
const
vtable_ptr
*
vtable
;
...
...
@@ -435,6 +442,23 @@ typedef struct {
double
imag
;
}
complex_double
;
typedef
enum
{
DATEORDER_no_order
,
DATEORDER_dmy
,
DATEORDER_mdy
,
DATEORDER_ymd
,
DATEORDER_ydm
}
dateorder
;
/* class time_get<char> */
typedef
struct
{
locale_facet
facet
;
const
char
*
days
;
const
char
*
months
;
dateorder
dateorder
;
_Cvtvec
cvt
;
}
time_get_char
;
/* stringstream */
static
basic_stringstream_char
*
(
*
__thiscall
p_basic_stringstream_char_ctor
)(
basic_stringstream_char
*
);
static
basic_stringstream_char
*
(
*
__thiscall
p_basic_stringstream_char_ctor_str
)(
basic_stringstream_char
*
,
const
basic_string_char
*
,
int
,
MSVCP_bool
);
...
...
@@ -522,6 +546,17 @@ static basic_string_wchar* (__thiscall *p_basic_string_wchar_ctor_cstr)(basic_st
static
const
wchar_t
*
(
__thiscall
*
p_basic_string_wchar_cstr
)(
basic_string_wchar
*
);
static
void
(
__thiscall
*
p_basic_string_wchar_dtor
)(
basic_string_wchar
*
);
/* basic_istringstream */
static
basic_istringstream_char
*
(
__thiscall
*
p_basic_istringstream_char_ctor_str
)(
basic_istringstream_char
*
,
const
basic_string_char
*
,
int
,
MSVCP_bool
);
static
void
(
__thiscall
*
p_basic_istringstream_char_dtor
)(
basic_ios_char
*
);
/* time_get */
static
time_get_char
*
(
__thiscall
*
p_time_get_char_ctor
)(
time_get_char
*
);
static
void
(
__thiscall
*
p_time_get_char_dtor
)(
time_get_char
*
);
static
int
(
__cdecl
*
p_time_get_char__Getint
)(
const
time_get_char
*
,
istreambuf_iterator_char
*
,
istreambuf_iterator_char
*
,
int
,
int
,
int
*
);
static
int
invalid_parameter
=
0
;
static
void
__cdecl
test_invalid_parameter_handler
(
const
wchar_t
*
expression
,
const
wchar_t
*
function
,
const
wchar_t
*
file
,
...
...
@@ -769,6 +804,19 @@ static BOOL init(void)
"?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEBAPEB_WXZ"
);
SET
(
p_basic_string_wchar_dtor
,
"??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAA@XZ"
);
SET
(
p_basic_istringstream_char_ctor_str
,
"??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV?"
"$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"
);
SET
(
p_basic_istringstream_char_dtor
,
"??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UEAA@XZ"
);
SET
(
p_time_get_char_ctor
,
"??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QEAAXXZ"
);
SET
(
p_time_get_char_dtor
,
"??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MEAA@XZ"
);
SET
(
p_time_get_char__Getint
,
"?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std"
"@@AEBAHAEAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAEAH@Z"
);
}
else
{
#ifdef __arm__
SET
(
p_basic_stringstream_char_ctor
,
...
...
@@ -909,6 +957,16 @@ static BOOL init(void)
"?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ"
);
SET
(
p_basic_string_wchar_dtor
,
"??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ"
);
SET
(
p_basic_istringstream_char_ctor_str
,
"??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"
"QAA@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"
);
SET
(
p_basic_istringstream_char_dtor
,
"??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAA@XZ"
);
SET
(
p_time_get_char_ctor
,
"??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAAXXZ"
);
SET
(
p_time_get_char_dtor
,
"??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAA@XZ"
);
#else
SET
(
p_basic_stringstream_char_ctor
,
"??_F?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ"
);
...
...
@@ -1048,7 +1106,20 @@ static BOOL init(void)
"?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ"
);
SET
(
p_basic_string_wchar_dtor
,
"??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ"
);
SET
(
p_basic_istringstream_char_ctor_str
,
"??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"
"QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"
);
SET
(
p_basic_istringstream_char_dtor
,
"??1?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ"
);
SET
(
p_time_get_char_ctor
,
"??_F?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QAEXXZ"
);
SET
(
p_time_get_char_dtor
,
"??1?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MAE@XZ"
);
#endif
SET
(
p_time_get_char__Getint
,
"?_Getint@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std"
"@@ABAHAAV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@0HHAAH@Z"
);
}
init_thiscall_thunk
();
...
...
@@ -2382,6 +2453,57 @@ static void test_basic_ios(void)
call_func1
(
p_basic_ios_char_dtor
,
&
bi
);
}
static
void
test_time_get__Getint
(
void
)
{
const
struct
{
const
char
*
str
;
int
min
;
int
max
;
int
ret
;
int
val
;
}
tests
[]
=
{
{
"0"
,
0
,
0
,
IOSTATE_eofbit
,
0
},
{
"0000"
,
0
,
0
,
IOSTATE_eofbit
,
0
},
{
"1234"
,
0
,
2000
,
IOSTATE_eofbit
,
1234
},
{
"+016"
,
0
,
20
,
IOSTATE_eofbit
,
16
},
{
"0x12"
,
0
,
20
,
IOSTATE_goodbit
,
0
},
{
" 0"
,
0
,
0
,
IOSTATE_failbit
,
-
1
},
{
"0 "
,
0
,
0
,
IOSTATE_goodbit
,
0
},
{
"-13"
,
-
50
,
-
12
,
IOSTATE_eofbit
,
-
13
}
};
struct
{
basic_istringstream_char
basic_istringstream
;
basic_ios_char
basic_ios
;
}
ss
;
istreambuf_iterator_char
beg
,
end
;
basic_string_char
str
;
time_get_char
time_get
;
int
i
,
ret
,
v
;
call_func1
(
p_time_get_char_ctor
,
&
time_get
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
tests
);
i
++
)
{
memset
(
&
beg
,
0
,
sizeof
(
beg
));
memset
(
&
end
,
0
,
sizeof
(
end
));
v
=
-
1
;
call_func2
(
p_basic_string_char_ctor_cstr
,
&
str
,
tests
[
i
].
str
);
call_func4
(
p_basic_istringstream_char_ctor_str
,
&
ss
.
basic_istringstream
,
&
str
,
0
,
TRUE
);
call_func1
(
p_basic_string_char_dtor
,
&
str
);
beg
.
strbuf
=
&
ss
.
basic_istringstream
.
strbuf
.
base
;
ret
=
p_time_get_char__Getint
(
&
time_get
,
&
beg
,
&
end
,
tests
[
i
].
min
,
tests
[
i
].
max
,
&
v
);
ok
(
ret
==
tests
[
i
].
ret
,
"%d) ret = %d, expected %d
\n
"
,
i
,
ret
,
tests
[
i
].
ret
);
ok
(
v
==
tests
[
i
].
val
,
"%d) v = %d, expected %d
\n
"
,
i
,
v
,
tests
[
i
].
val
);
call_func1
(
p_basic_istringstream_char_dtor
,
&
ss
.
basic_ios
);
call_func1
(
p_basic_ios_char_dtor
,
&
ss
.
basic_ios
);
}
call_func1
(
p_time_get_char_dtor
,
&
time_get
);
}
START_TEST
(
ios
)
{
if
(
!
init
())
...
...
@@ -2408,6 +2530,7 @@ START_TEST(ios)
test_ostream_print_complex_ldouble
();
test_istream_read_complex_double
();
test_basic_ios
();
test_time_get__Getint
();
ok
(
!
invalid_parameter
,
"invalid_parameter_handler was invoked too many times
\n
"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment