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
3b620834
Commit
3b620834
authored
Sep 27, 2016
by
Piotr Caban
Committed by
Alexandre Julliard
Sep 27, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp140: Introduce _Mbstatet structure.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
bbab63cf
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
235 additions
and
190 deletions
+235
-190
ios.c
dlls/msvcp90/ios.c
+161
-136
locale.c
dlls/msvcp90/locale.c
+57
-48
msvcp90.h
dlls/msvcp90/msvcp90.h
+17
-6
No files found.
dlls/msvcp90/ios.c
View file @
3b620834
...
...
@@ -53,12 +53,13 @@ MSVCP_bool ios_base_Sync = FALSE;
typedef
struct
{
streamoff
off
;
__int64
DECLSPEC_ALIGN
(
8
)
pos
;
in
t
state
;
}
fpos_
in
t
;
_Mbstate
t
state
;
}
fpos_
mbstate
t
;
static
inline
const
char
*
debugstr_fpos_
int
(
fpos_in
t
*
fpos
)
static
inline
const
char
*
debugstr_fpos_
mbstatet
(
fpos_mbstate
t
*
fpos
)
{
return
wine_dbg_sprintf
(
"fpos(%s %s %d)"
,
wine_dbgstr_longlong
(
fpos
->
off
),
wine_dbgstr_longlong
(
fpos
->
pos
),
fpos
->
state
);
return
wine_dbg_sprintf
(
"fpos(%s %s %d)"
,
wine_dbgstr_longlong
(
fpos
->
off
),
wine_dbgstr_longlong
(
fpos
->
pos
),
MBSTATET_TO_INT
(
&
fpos
->
state
));
}
typedef
struct
{
...
...
@@ -88,7 +89,7 @@ typedef struct {
char
putback
;
#endif
MSVCP_bool
wrotesome
;
in
t
state
;
_Mbstate
t
state
;
MSVCP_bool
close
;
#if _MSVCP_VER == 70
locale
loc
;
...
...
@@ -107,7 +108,7 @@ typedef struct {
wchar_t
putback
;
#endif
MSVCP_bool
wrotesome
;
in
t
state
;
_Mbstate
t
state
;
MSVCP_bool
close
;
#if _MSVCP_VER == 70
locale
loc
;
...
...
@@ -1647,19 +1648,22 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff, 24)
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_seekoff
,
20
)
#endif
#if _MSVCP_VER >= 100
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 40, fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 40, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#elif _MSVCP_VER >= 80
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 36, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#else
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 32, fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 32, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_char_seekoff
(
basic_streambuf_char
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_seekoff
(
basic_streambuf_char
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -1674,8 +1678,8 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_pubseekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_char_pubseekoff
(
basic_streambuf_char
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_pubseekoff
(
basic_streambuf_char
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
return
call_basic_streambuf_char_seekoff
(
this
,
ret
,
off
,
way
,
mode
);
...
...
@@ -1688,8 +1692,8 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_pubseekoff_old
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_char_pubseekoff_old
(
basic_streambuf_char
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
unsigned
int
way
,
unsigned
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_pubseekoff_old
(
basic_streambuf_char
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
unsigned
int
way
,
unsigned
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
return
basic_streambuf_char_pubseekoff
(
this
,
ret
,
off
,
way
,
mode
);
...
...
@@ -1699,39 +1703,42 @@ fpos_int* __thiscall basic_streambuf_char_pubseekoff_old(basic_streambuf_char *t
/* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_seekpos
,
36
)
#if _MSVCP_VER >= 100
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 44, fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 44, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#elif _MSVCP_VER >= 80
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 40, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#else
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_char_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 36, fpos_mbstatet*, (basic_streambuf_char*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_char_seekpos
(
basic_streambuf_char
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_seekpos
(
basic_streambuf_char
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
/* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
/* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_pubseekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_streambuf_char_pubseekpos
(
basic_streambuf_char
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_pubseekpos
(
basic_streambuf_char
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
return
call_basic_streambuf_char_seekpos
(
this
,
ret
,
pos
,
mode
);
}
/* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
/* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_char_pubseekpos_old
,
36
)
fpos_
in
t
*
__thiscall
basic_streambuf_char_pubseekpos_old
(
basic_streambuf_char
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
unsigned
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_char_pubseekpos_old
(
basic_streambuf_char
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
unsigned
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
return
basic_streambuf_char_pubseekpos
(
this
,
ret
,
pos
,
mode
);
}
...
...
@@ -2552,19 +2559,22 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff, 24)
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_seekoff
,
20
)
#endif
#if _MSVCP_VER >= 100
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 40, fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 40, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#elif _MSVCP_VER >= 80
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 36, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#else
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 32, fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) \
CALL_VTBL_FUNC(this, 32, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, streamoff, int, int), (this, ret, off, way, mode))
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_seekoff
(
basic_streambuf_wchar
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_seekoff
(
basic_streambuf_wchar
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -2581,8 +2591,8 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_pubseekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_pubseekoff
(
basic_streambuf_wchar
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_pubseekoff
(
basic_streambuf_wchar
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
return
call_basic_streambuf_wchar_seekoff
(
this
,
ret
,
off
,
way
,
mode
);
...
...
@@ -2597,8 +2607,8 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_pubseekoff_old
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_pubseekoff_old
(
basic_streambuf_wchar
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
unsigned
int
way
,
unsigned
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_pubseekoff_old
(
basic_streambuf_wchar
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
unsigned
int
way
,
unsigned
int
mode
)
{
TRACE
(
"(%p %s %d %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
return
basic_streambuf_wchar_pubseekoff
(
this
,
ret
,
off
,
way
,
mode
);
...
...
@@ -2610,19 +2620,22 @@ fpos_int* __thiscall basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
/* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_seekpos
,
36
)
#if _MSVCP_VER >= 100
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 44, fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 44, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#elif _MSVCP_VER >= 80
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 40, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#else
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 36, fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) \
CALL_VTBL_FUNC(this, 36, fpos_mbstatet*, (basic_streambuf_wchar*, fpos_mbstatet*, fpos_mbstatet, int), (this, ret, pos, mode))
#endif
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_seekpos
(
basic_streambuf_wchar
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_seekpos
(
basic_streambuf_wchar
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -2631,10 +2644,10 @@ fpos_int* __thiscall basic_streambuf_wchar_seekpos(basic_streambuf_wchar *this,
/* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
/* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_pubseekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_pubseekpos
(
basic_streambuf_wchar
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_pubseekpos
(
basic_streambuf_wchar
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
return
call_basic_streambuf_wchar_seekpos
(
this
,
ret
,
pos
,
mode
);
}
...
...
@@ -2643,10 +2656,10 @@ fpos_int* __thiscall basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar *thi
/* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
/* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
DEFINE_THISCALL_WRAPPER
(
basic_streambuf_wchar_pubseekpos_old
,
36
)
fpos_
in
t
*
__thiscall
basic_streambuf_wchar_pubseekpos_old
(
basic_streambuf_wchar
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
unsigned
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_streambuf_wchar_pubseekpos_old
(
basic_streambuf_wchar
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
unsigned
int
mode
)
{
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %s %d)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
return
basic_streambuf_wchar_pubseekpos
(
this
,
ret
,
pos
,
mode
);
}
...
...
@@ -2962,7 +2975,11 @@ void __thiscall basic_streambuf_wchar_swap(basic_streambuf_wchar *this, basic_st
/* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
/* ?_Stinit@?1??_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
int
basic_filebuf_char__Init__Stinit
=
0
;
#if _MSVCP_VER >= 140
_Mbstatet
basic_filebuf_char__Init__Stinit
=
{
0
};
#else
_Mbstatet
basic_filebuf_char__Init__Stinit
=
0
;
#endif
/* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
/* ?_Init@?$basic_filebuf@DU?$char_traits@D@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
...
...
@@ -3459,8 +3476,8 @@ DEFINE_THISCALL_WRAPPER(basic_filebuf_char_seekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_filebuf_char_seekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_filebuf_char_seekoff
(
basic_filebuf_char
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_filebuf_char_seekoff
(
basic_filebuf_char
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
fpos_t
pos
;
...
...
@@ -3470,7 +3487,7 @@ fpos_int* __thiscall basic_filebuf_char_seekoff(basic_filebuf_char *this,
||
fseek
(
this
->
file
,
off
,
way
))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -3484,19 +3501,19 @@ fpos_int* __thiscall basic_filebuf_char_seekoff(basic_filebuf_char *this,
/* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?seekpos@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_filebuf_char_seekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_filebuf_char_seekpos
(
basic_filebuf_char
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_filebuf_char_seekpos
(
basic_filebuf_char
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
fpos_t
fpos
;
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
if
(
!
basic_filebuf_char_is_open
(
this
)
||
!
basic_filebuf_char__Endwrite
(
this
)
||
fseek
(
this
->
file
,
(
LONG
)
pos
.
pos
,
SEEK_SET
)
||
(
pos
.
off
&&
fseek
(
this
->
file
,
pos
.
off
,
SEEK_CUR
)))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -3554,11 +3571,19 @@ void __thiscall basic_filebuf_char_imbue(basic_filebuf_char *this, const locale
/* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
/* ?_Stinit@?1??_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
int
basic_filebuf_wchar__Init__Stinit
=
0
;
#if _MSVCP_VER >= 140
_Mbstatet
basic_filebuf_wchar__Init__Stinit
=
{
0
};
#else
_Mbstatet
basic_filebuf_wchar__Init__Stinit
=
0
;
#endif
/* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@23@@Z@4HA */
/* ?_Stinit@?1??_Init@?$basic_filebuf@GU?$char_traits@G@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@23@@Z@4HA */
int
basic_filebuf_short__Init__Stinit
=
0
;
#if _MSVCP_VER >= 140
_Mbstatet
basic_filebuf_short__Init__Stinit
=
{
0
};
#else
_Mbstatet
basic_filebuf_short__Init__Stinit
=
0
;
#endif
/* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z */
/* ?_Init@?$basic_filebuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAU_iobuf@@W4_Initfl@12@@Z */
...
...
@@ -4100,8 +4125,8 @@ DEFINE_THISCALL_WRAPPER(basic_filebuf_wchar_seekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_filebuf_wchar_seekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_filebuf_wchar_seekoff
(
basic_filebuf_wchar
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_filebuf_wchar_seekoff
(
basic_filebuf_wchar
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
fpos_t
pos
;
...
...
@@ -4118,7 +4143,7 @@ fpos_int* __thiscall basic_filebuf_wchar_seekoff(basic_filebuf_wchar *this,
||
fseek
(
this
->
file
,
off
,
way
))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -4134,19 +4159,19 @@ fpos_int* __thiscall basic_filebuf_wchar_seekoff(basic_filebuf_wchar *this,
/* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?seekpos@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_filebuf_wchar_seekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_filebuf_wchar_seekpos
(
basic_filebuf_wchar
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_filebuf_wchar_seekpos
(
basic_filebuf_wchar
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
fpos_t
fpos
;
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
if
(
!
basic_filebuf_wchar_is_open
(
this
)
||
!
basic_filebuf_wchar__Endwrite
(
this
)
||
fseek
(
this
->
file
,
(
LONG
)
pos
.
pos
,
SEEK_SET
)
||
(
pos
.
off
&&
fseek
(
this
->
file
,
pos
.
off
,
SEEK_CUR
)))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
...
...
@@ -4502,8 +4527,8 @@ DEFINE_THISCALL_WRAPPER(basic_stringbuf_char_seekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_stringbuf_char_seekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_stringbuf_char_seekoff
(
basic_stringbuf_char
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_stringbuf_char_seekoff
(
basic_stringbuf_char
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
char
*
beg
,
*
cur_r
,
*
cur_w
;
...
...
@@ -4515,7 +4540,7 @@ fpos_int* __thiscall basic_stringbuf_char_seekoff(basic_stringbuf_char *this,
ret
->
off
=
0
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
beg
=
basic_streambuf_char_eback
(
&
this
->
base
);
cur_r
=
basic_streambuf_char_gptr
(
&
this
->
base
);
...
...
@@ -4560,12 +4585,12 @@ fpos_int* __thiscall basic_stringbuf_char_seekoff(basic_stringbuf_char *this,
/* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?seekpos@?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_stringbuf_char_seekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_stringbuf_char_seekpos
(
basic_stringbuf_char
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_stringbuf_char_seekpos
(
basic_stringbuf_char
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
pos
.
state
==
0
)
{
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
pos
.
state
)
==
0
)
{
*
ret
=
pos
;
return
ret
;
}
...
...
@@ -4921,8 +4946,8 @@ DEFINE_THISCALL_WRAPPER(basic_stringbuf_wchar_seekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
basic_stringbuf_wchar_seekoff
,
20
)
#endif
fpos_
in
t
*
__thiscall
basic_stringbuf_wchar_seekoff
(
basic_stringbuf_wchar
*
this
,
fpos_
in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_stringbuf_wchar_seekoff
(
basic_stringbuf_wchar
*
this
,
fpos_
mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
wchar_t
*
beg
,
*
cur_r
,
*
cur_w
;
...
...
@@ -4934,7 +4959,7 @@ fpos_int* __thiscall basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar *this,
ret
->
off
=
0
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
beg
=
basic_streambuf_wchar_eback
(
&
this
->
base
);
cur_r
=
basic_streambuf_wchar_gptr
(
&
this
->
base
);
...
...
@@ -4981,12 +5006,12 @@ fpos_int* __thiscall basic_stringbuf_wchar_seekoff(basic_stringbuf_wchar *this,
/* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?seekpos@?$basic_stringbuf@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
basic_stringbuf_wchar_seekpos
,
36
)
fpos_
in
t
*
__thiscall
basic_stringbuf_wchar_seekpos
(
basic_stringbuf_wchar
*
this
,
fpos_
int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstate
t
*
__thiscall
basic_stringbuf_wchar_seekpos
(
basic_stringbuf_wchar
*
this
,
fpos_
mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
pos
.
state
==
0
)
{
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
pos
.
state
)
==
0
)
{
*
ret
=
pos
;
return
ret
;
}
...
...
@@ -6433,11 +6458,11 @@ basic_ostream_char* __thiscall basic_ostream_char_seekp(basic_ostream_char *this
TRACE
(
"(%p %s %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
);
if
(
!
ios_base_fail
(
&
base
->
base
))
{
fpos_
in
t
seek
;
fpos_
mbstate
t
seek
;
basic_streambuf_char_pubseekoff
(
basic_ios_char_rdbuf_get
(
base
),
&
seek
,
off
,
way
,
OPENMODE_out
);
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
seek
.
state
==
0
)
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
seek
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
}
return
this
;
...
...
@@ -6446,18 +6471,18 @@ basic_ostream_char* __thiscall basic_ostream_char_seekp(basic_ostream_char *this
/* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
/* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
DEFINE_THISCALL_WRAPPER
(
basic_ostream_char_seekp_fpos
,
28
)
basic_ostream_char
*
__thiscall
basic_ostream_char_seekp_fpos
(
basic_ostream_char
*
this
,
fpos_
in
t
pos
)
basic_ostream_char
*
__thiscall
basic_ostream_char_seekp_fpos
(
basic_ostream_char
*
this
,
fpos_
mbstate
t
pos
)
{
basic_ios_char
*
base
=
basic_ostream_char_get_basic_ios
(
this
);
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
if
(
!
ios_base_fail
(
&
base
->
base
))
{
fpos_
in
t
seek
;
fpos_
mbstate
t
seek
;
basic_streambuf_char_pubseekpos
(
basic_ios_char_rdbuf_get
(
base
),
&
seek
,
pos
,
OPENMODE_out
);
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
seek
.
state
==
0
)
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
seek
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
}
return
this
;
...
...
@@ -6466,7 +6491,7 @@ basic_ostream_char* __thiscall basic_ostream_char_seekp_fpos(basic_ostream_char
/* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
/* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
DEFINE_THISCALL_WRAPPER
(
basic_ostream_char_tellp
,
8
)
fpos_
int
*
__thiscall
basic_ostream_char_tellp
(
basic_ostream_char
*
this
,
fpos_in
t
*
ret
)
fpos_
mbstatet
*
__thiscall
basic_ostream_char_tellp
(
basic_ostream_char
*
this
,
fpos_mbstate
t
*
ret
)
{
basic_ios_char
*
base
=
basic_ostream_char_get_basic_ios
(
this
);
...
...
@@ -6478,7 +6503,7 @@ fpos_int* __thiscall basic_ostream_char_tellp(basic_ostream_char *this, fpos_int
}
else
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
}
return
ret
;
}
...
...
@@ -7301,11 +7326,11 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_seekp(basic_ostream_wchar *t
TRACE
(
"(%p %s %d)
\n
"
,
this
,
wine_dbgstr_longlong
(
off
),
way
);
if
(
!
ios_base_fail
(
&
base
->
base
))
{
fpos_
in
t
seek
;
fpos_
mbstate
t
seek
;
basic_streambuf_wchar_pubseekoff
(
basic_ios_wchar_rdbuf_get
(
base
),
&
seek
,
off
,
way
,
OPENMODE_out
);
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
seek
.
state
==
0
)
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
seek
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
}
return
this
;
...
...
@@ -7316,18 +7341,18 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_seekp(basic_ostream_wchar *t
/* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
/* ?seekp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
DEFINE_THISCALL_WRAPPER
(
basic_ostream_wchar_seekp_fpos
,
28
)
basic_ostream_wchar
*
__thiscall
basic_ostream_wchar_seekp_fpos
(
basic_ostream_wchar
*
this
,
fpos_
in
t
pos
)
basic_ostream_wchar
*
__thiscall
basic_ostream_wchar_seekp_fpos
(
basic_ostream_wchar
*
this
,
fpos_
mbstate
t
pos
)
{
basic_ios_wchar
*
base
=
basic_ostream_wchar_get_basic_ios
(
this
);
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
if
(
!
ios_base_fail
(
&
base
->
base
))
{
fpos_
in
t
seek
;
fpos_
mbstate
t
seek
;
basic_streambuf_wchar_pubseekpos
(
basic_ios_wchar_rdbuf_get
(
base
),
&
seek
,
pos
,
OPENMODE_out
);
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
seek
.
state
==
0
)
if
(
seek
.
off
==-
1
&&
seek
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
seek
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
}
return
this
;
...
...
@@ -7338,7 +7363,7 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_seekp_fpos(basic_ostream_wch
/* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
/* ?tellp@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
DEFINE_THISCALL_WRAPPER
(
basic_ostream_wchar_tellp
,
8
)
fpos_
int
*
__thiscall
basic_ostream_wchar_tellp
(
basic_ostream_wchar
*
this
,
fpos_in
t
*
ret
)
fpos_
mbstatet
*
__thiscall
basic_ostream_wchar_tellp
(
basic_ostream_wchar
*
this
,
fpos_mbstate
t
*
ret
)
{
basic_ios_wchar
*
base
=
basic_ostream_wchar_get_basic_ios
(
this
);
...
...
@@ -7350,7 +7375,7 @@ fpos_int* __thiscall basic_ostream_wchar_tellp(basic_ostream_wchar *this, fpos_i
}
else
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
}
return
ret
;
}
...
...
@@ -8740,7 +8765,7 @@ int __thiscall basic_istream_char_sync(basic_istream_char *this)
/* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
/* ?tellg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
DEFINE_THISCALL_WRAPPER
(
basic_istream_char_tellg
,
8
)
fpos_
int
*
__thiscall
basic_istream_char_tellg
(
basic_istream_char
*
this
,
fpos_in
t
*
ret
)
fpos_
mbstatet
*
__thiscall
basic_istream_char_tellg
(
basic_istream_char
*
this
,
fpos_mbstate
t
*
ret
)
{
basic_ios_char
*
base
=
basic_istream_char_get_basic_ios
(
this
);
...
...
@@ -8751,26 +8776,26 @@ fpos_int* __thiscall basic_istream_char_tellg(basic_istream_char *this, fpos_int
basic_streambuf_char_pubseekoff
(
basic_ios_char_rdbuf_get
(
base
),
ret
,
0
,
SEEKDIR_cur
,
OPENMODE_in
);
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
ret
->
state
==
0
)
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
->
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
}
else
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
}
basic_istream_char_sentry_destroy
(
this
);
#else
if
(
ios_base_fail
(
&
base
->
base
))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
basic_streambuf_char_pubseekoff
(
basic_ios_char_rdbuf_get
(
base
),
ret
,
0
,
SEEKDIR_cur
,
OPENMODE_in
);
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
ret
->
state
==
0
)
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
->
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
#endif
...
...
@@ -8799,11 +8824,11 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *this
if
(
basic_istream_char_sentry_create
(
this
,
TRUE
))
{
basic_streambuf_char
*
strbuf
=
basic_ios_char_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_char_pubseekoff
(
strbuf
,
&
ret
,
off
,
dir
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
}
basic_istream_char_sentry_destroy
(
this
);
...
...
@@ -8812,11 +8837,11 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *this
if
(
!
ios_base_fail
(
&
base
->
base
))
{
basic_streambuf_char
*
strbuf
=
basic_ios_char_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_char_pubseekoff
(
strbuf
,
&
ret
,
off
,
dir
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
else
basic_ios_char_clear
(
base
,
IOSTATE_goodbit
);
...
...
@@ -8830,37 +8855,37 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *this
/* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
/* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
DEFINE_THISCALL_WRAPPER
(
basic_istream_char_seekg_fpos
,
28
)
basic_istream_char
*
__thiscall
basic_istream_char_seekg_fpos
(
basic_istream_char
*
this
,
fpos_
in
t
pos
)
basic_istream_char
*
__thiscall
basic_istream_char_seekg_fpos
(
basic_istream_char
*
this
,
fpos_
mbstate
t
pos
)
{
basic_ios_char
*
base
=
basic_istream_char_get_basic_ios
(
this
);
#if _MSVCP_VER >= 110
IOSB_iostate
state
;
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
state
=
ios_base_rdstate
(
&
base
->
base
);
ios_base_clear
(
&
base
->
base
,
state
&
~
IOSTATE_eofbit
);
if
(
basic_istream_char_sentry_create
(
this
,
TRUE
))
{
basic_streambuf_char
*
strbuf
=
basic_ios_char_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_char_pubseekpos
(
strbuf
,
&
ret
,
pos
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
}
basic_istream_char_sentry_destroy
(
this
);
#else
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
if
(
!
ios_base_fail
(
&
base
->
base
))
{
basic_streambuf_char
*
strbuf
=
basic_ios_char_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_char_pubseekpos
(
strbuf
,
&
ret
,
pos
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_char_setstate
(
base
,
IOSTATE_failbit
);
else
basic_ios_char_clear
(
base
,
IOSTATE_goodbit
);
...
...
@@ -10315,7 +10340,7 @@ int __thiscall basic_istream_wchar_sync(basic_istream_wchar *this)
/* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@XZ */
/* ?tellg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
DEFINE_THISCALL_WRAPPER
(
basic_istream_wchar_tellg
,
8
)
fpos_
int
*
__thiscall
basic_istream_wchar_tellg
(
basic_istream_wchar
*
this
,
fpos_in
t
*
ret
)
fpos_
mbstatet
*
__thiscall
basic_istream_wchar_tellg
(
basic_istream_wchar
*
this
,
fpos_mbstate
t
*
ret
)
{
basic_ios_wchar
*
base
=
basic_istream_wchar_get_basic_ios
(
this
);
...
...
@@ -10326,25 +10351,25 @@ fpos_int* __thiscall basic_istream_wchar_tellg(basic_istream_wchar *this, fpos_i
basic_streambuf_wchar_pubseekoff
(
basic_ios_wchar_rdbuf_get
(
base
),
ret
,
0
,
SEEKDIR_cur
,
OPENMODE_in
);
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
ret
->
state
==
0
)
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
->
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
}
else
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
}
basic_istream_wchar_sentry_destroy
(
this
);
#else
if
(
ios_base_fail
(
&
base
->
base
))
{
ret
->
off
=
-
1
;
ret
->
pos
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
return
ret
;
}
basic_streambuf_wchar_pubseekoff
(
basic_ios_wchar_rdbuf_get
(
base
),
ret
,
0
,
SEEKDIR_cur
,
OPENMODE_in
);
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
ret
->
state
==
0
)
if
(
ret
->
off
==-
1
&&
ret
->
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
->
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
#endif
return
ret
;
...
...
@@ -10374,11 +10399,11 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
if
(
basic_istream_wchar_sentry_create
(
this
,
TRUE
))
{
basic_streambuf_wchar
*
strbuf
=
basic_ios_wchar_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_wchar_pubseekoff
(
strbuf
,
&
ret
,
off
,
dir
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
}
basic_istream_wchar_sentry_destroy
(
this
);
...
...
@@ -10387,11 +10412,11 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
if
(
!
ios_base_fail
(
&
base
->
base
))
{
basic_streambuf_wchar
*
strbuf
=
basic_ios_wchar_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_wchar_pubseekoff
(
strbuf
,
&
ret
,
off
,
dir
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
else
basic_ios_wchar_clear
(
base
,
IOSTATE_goodbit
);
...
...
@@ -10407,37 +10432,37 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
DEFINE_THISCALL_WRAPPER
(
basic_istream_wchar_seekg_fpos
,
28
)
basic_istream_wchar
*
__thiscall
basic_istream_wchar_seekg_fpos
(
basic_istream_wchar
*
this
,
fpos_
in
t
pos
)
basic_istream_wchar
*
__thiscall
basic_istream_wchar_seekg_fpos
(
basic_istream_wchar
*
this
,
fpos_
mbstate
t
pos
)
{
basic_ios_wchar
*
base
=
basic_istream_wchar_get_basic_ios
(
this
);
#if _MSVCP_VER >= 110
IOSB_iostate
state
;
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
state
=
ios_base_rdstate
(
&
base
->
base
);
ios_base_clear
(
&
base
->
base
,
state
&
~
IOSTATE_eofbit
);
if
(
basic_istream_wchar_sentry_create
(
this
,
TRUE
))
{
basic_streambuf_wchar
*
strbuf
=
basic_ios_wchar_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_wchar_pubseekpos
(
strbuf
,
&
ret
,
pos
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
}
basic_istream_wchar_sentry_destroy
(
this
);
#else
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
in
t
(
&
pos
));
TRACE
(
"(%p %s)
\n
"
,
this
,
debugstr_fpos_
mbstate
t
(
&
pos
));
if
(
!
ios_base_fail
(
&
base
->
base
))
{
basic_streambuf_wchar
*
strbuf
=
basic_ios_wchar_rdbuf_get
(
base
);
fpos_
in
t
ret
;
fpos_
mbstate
t
ret
;
basic_streambuf_wchar_pubseekpos
(
strbuf
,
&
ret
,
pos
,
OPENMODE_in
);
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
ret
.
state
==
0
)
if
(
ret
.
off
==-
1
&&
ret
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
ret
.
state
)
==
0
)
basic_ios_wchar_setstate
(
base
,
IOSTATE_failbit
);
else
basic_ios_wchar_clear
(
base
,
IOSTATE_goodbit
);
...
...
@@ -14299,7 +14324,7 @@ DEFINE_THISCALL_WRAPPER(strstreambuf_seekoff, 24)
#else
DEFINE_THISCALL_WRAPPER
(
strstreambuf_seekoff
,
20
)
#endif
fpos_
int
*
__thiscall
strstreambuf_seekoff
(
strstreambuf
*
this
,
fpos_in
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
fpos_
mbstatet
*
__thiscall
strstreambuf_seekoff
(
strstreambuf
*
this
,
fpos_mbstate
t
*
ret
,
streamoff
off
,
int
way
,
int
mode
)
{
char
*
eback
=
basic_streambuf_char_eback
(
&
this
->
base
);
char
*
pptr
=
basic_streambuf_char_pptr
(
&
this
->
base
);
...
...
@@ -14308,7 +14333,7 @@ fpos_int* __thiscall strstreambuf_seekoff(strstreambuf *this, fpos_int *ret, str
TRACE
(
"(%p %p %s %d %d)
\n
"
,
this
,
ret
,
wine_dbgstr_longlong
(
off
),
way
,
mode
);
ret
->
off
=
0
;
ret
->
state
=
0
;
memset
(
&
ret
->
state
,
0
,
sizeof
(
ret
->
state
))
;
if
(
pptr
>
this
->
seekhigh
)
this
->
seekhigh
=
pptr
;
...
...
@@ -14353,11 +14378,11 @@ fpos_int* __thiscall strstreambuf_seekoff(strstreambuf *this, fpos_int *ret, str
/* ?seekpos@strstreambuf@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?seekpos@strstreambuf@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
DEFINE_THISCALL_WRAPPER
(
strstreambuf_seekpos
,
36
)
fpos_
int
*
__thiscall
strstreambuf_seekpos
(
strstreambuf
*
this
,
fpos_int
*
ret
,
fpos_in
t
pos
,
int
mode
)
fpos_
mbstatet
*
__thiscall
strstreambuf_seekpos
(
strstreambuf
*
this
,
fpos_mbstatet
*
ret
,
fpos_mbstate
t
pos
,
int
mode
)
{
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
in
t
(
&
pos
),
mode
);
TRACE
(
"(%p %p %s %d)
\n
"
,
this
,
ret
,
debugstr_fpos_
mbstate
t
(
&
pos
),
mode
);
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
pos
.
state
==
0
)
{
if
(
pos
.
off
==-
1
&&
pos
.
pos
==
0
&&
MBSTATET_TO_INT
(
&
pos
.
state
)
==
0
)
{
*
ret
=
pos
;
return
ret
;
}
...
...
dlls/msvcp90/locale.c
View file @
3b620834
...
...
@@ -2372,7 +2372,7 @@ ctype_wchar* __thiscall ctype_wchar_vector_dtor(ctype_wchar *this, unsigned int
}
/* _Wcrtomb */
int
__cdecl
_Wcrtomb
(
char
*
s
,
wchar_t
wch
,
in
t
*
state
,
const
_Cvtvec
*
cvt
)
int
__cdecl
_Wcrtomb
(
char
*
s
,
wchar_t
wch
,
_Mbstate
t
*
state
,
const
_Cvtvec
*
cvt
)
{
int
cp
,
size
;
BOOL
def
;
...
...
@@ -2519,7 +2519,7 @@ const wchar_t* __thiscall ctype_wchar__Narrow_s(const ctype_wchar *this, const w
}
/* _Mbrtowc */
int
__cdecl
_Mbrtowc
(
wchar_t
*
out
,
const
char
*
in
,
MSVCP_size_t
len
,
in
t
*
state
,
const
_Cvtvec
*
cvt
)
int
__cdecl
_Mbrtowc
(
wchar_t
*
out
,
const
char
*
in
,
MSVCP_size_t
len
,
_Mbstate
t
*
state
,
const
_Cvtvec
*
cvt
)
{
int
i
,
cp
;
CPINFO
cp_info
;
...
...
@@ -2539,20 +2539,20 @@ int __cdecl _Mbrtowc(wchar_t *out, const char *in, MSVCP_size_t len, int *state,
if
(
out
)
*
out
=
(
unsigned
char
)
*
in
;
*
state
=
0
;
memset
(
state
,
0
,
sizeof
(
*
state
))
;
return
*
in
?
1
:
0
;
}
if
(
*
state
)
{
((
char
*
)
state
)[
1
]
=
*
in
;
if
(
MBSTATET_TO_INT
(
state
)
)
{
((
char
*
)
&
MBSTATET_TO_INT
(
state
)
)[
1
]
=
*
in
;
if
(
!
MultiByteToWideChar
(
cp
,
MB_ERR_INVALID_CHARS
,
(
char
*
)
state
,
2
,
out
,
out
?
1
:
0
))
{
*
state
=
0
;
if
(
!
MultiByteToWideChar
(
cp
,
MB_ERR_INVALID_CHARS
,
(
char
*
)
&
MBSTATET_TO_INT
(
state
)
,
2
,
out
,
out
?
1
:
0
))
{
memset
(
state
,
0
,
sizeof
(
*
state
))
;
*
_errno
()
=
EILSEQ
;
return
-
1
;
}
*
state
=
0
;
memset
(
state
,
0
,
sizeof
(
*
state
))
;
return
2
;
}
...
...
@@ -2569,7 +2569,7 @@ int __cdecl _Mbrtowc(wchar_t *out, const char *in, MSVCP_size_t len, int *state,
if
(
is_lead
)
{
if
(
len
==
1
)
{
*
state
=
(
unsigned
char
)
*
in
;
MBSTATET_TO_INT
(
state
)
=
(
unsigned
char
)
*
in
;
return
-
2
;
}
...
...
@@ -2589,9 +2589,10 @@ int __cdecl _Mbrtowc(wchar_t *out, const char *in, MSVCP_size_t len, int *state,
static
inline
wchar_t
mb_to_wc
(
char
ch
,
const
_Cvtvec
*
cvt
)
{
int
state
=
0
;
_Mbstatet
state
;
wchar_t
ret
;
memset
(
&
state
,
0
,
sizeof
(
state
));
return
_Mbrtowc
(
&
ret
,
&
ch
,
1
,
&
state
,
cvt
)
==
1
?
ret
:
0
;
}
...
...
@@ -2602,9 +2603,12 @@ static inline wchar_t mb_to_wc(char ch, const _Cvtvec *cvt)
DEFINE_THISCALL_WRAPPER
(
ctype_wchar__Dowiden
,
8
)
wchar_t
__thiscall
ctype_wchar__Dowiden
(
const
ctype_wchar
*
this
,
char
ch
)
{
_Mbstatet
state
;
wchar_t
ret
;
int
state
=
0
;
TRACE
(
"(%p %d)
\n
"
,
this
,
ch
);
memset
(
&
state
,
0
,
sizeof
(
state
));
return
_Mbrtowc
(
&
ret
,
&
ch
,
1
,
&
state
,
&
this
->
cvt
)
<
0
?
WEOF
:
ret
;
}
...
...
@@ -3365,16 +3369,16 @@ MSVCP_bool __thiscall codecvt_char_do_always_noconv(const codecvt_char *this)
#if _MSVCP_VER <= 100
#define call_codecvt_char_do_in(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 16, int, \
(const codecvt_char*,
in
t*, const char*, const char*, const char**, char*, char*, char**), \
(const codecvt_char*,
_Mbstate
t*, const char*, const char*, const char**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#else
#define call_codecvt_char_do_in(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 24, int, \
(const codecvt_char*,
in
t*, const char*, const char*, const char**, char*, char*, char**), \
(const codecvt_char*,
_Mbstate
t*, const char*, const char*, const char**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_char_do_in
,
32
)
int
__thiscall
codecvt_char_do_in
(
const
codecvt_char
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_char_do_in
(
const
codecvt_char
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3388,7 +3392,7 @@ int __thiscall codecvt_char_do_in(const codecvt_char *this, int *state,
/* ?in@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z */
/* ?in@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_char_in
,
32
)
int
__thiscall
codecvt_char_in
(
const
codecvt_char
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_char_in
(
const
codecvt_char
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3403,16 +3407,16 @@ int __thiscall codecvt_char_in(const codecvt_char *this, int *state,
#if _MSVCP_VER <= 100
#define call_codecvt_char_do_out(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 20, int, \
(const codecvt_char*,
in
t*, const char*, const char*, const char**, char*, char*, char**), \
(const codecvt_char*,
_Mbstate
t*, const char*, const char*, const char**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#else
#define call_codecvt_char_do_out(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 28, int, \
(const codecvt_char*,
in
t*, const char*, const char*, const char**, char*, char*, char**), \
(const codecvt_char*,
_Mbstate
t*, const char*, const char*, const char**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_char_do_out
,
32
)
int
__thiscall
codecvt_char_do_out
(
const
codecvt_char
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_char_do_out
(
const
codecvt_char
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3426,7 +3430,7 @@ int __thiscall codecvt_char_do_out(const codecvt_char *this, int *state,
/* ?out@?$codecvt@DDH@std@@QBEHAAHPBD1AAPBDPAD3AAPAD@Z */
/* ?out@?$codecvt@DDH@std@@QEBAHAEAHPEBD1AEAPEBDPEAD3AEAPEAD@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_char_out
,
32
)
int
__thiscall
codecvt_char_out
(
const
codecvt_char
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_char_out
(
const
codecvt_char
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3440,14 +3444,14 @@ int __thiscall codecvt_char_out(const codecvt_char *this, int *state,
/* ?do_unshift@?$codecvt@DDH@std@@MEBAHAEAHPEAD1AEAPEAD@Z */
#if _MSVCP_VER <= 100
#define call_codecvt_char_do_unshift(this, state, to, to_end, to_next) CALL_VTBL_FUNC(this, 24, \
int, (const codecvt_char*,
in
t*, char*, char*, char**), (this, state, to, to_end, to_next))
int, (const codecvt_char*,
_Mbstate
t*, char*, char*, char**), (this, state, to, to_end, to_next))
#else
#define call_codecvt_char_do_unshift(this, state, to, to_end, to_next) CALL_VTBL_FUNC(this, 32, \
int, (const codecvt_char*,
in
t*, char*, char*, char**), (this, state, to, to_end, to_next))
int, (const codecvt_char*,
_Mbstate
t*, char*, char*, char**), (this, state, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_char_do_unshift
,
20
)
int
__thiscall
codecvt_char_do_unshift
(
const
codecvt_char
*
this
,
in
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
_Mbstate
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
TRACE
(
"(%p %p %p %p %p)
\n
"
,
this
,
state
,
to
,
to_end
,
to_next
);
*
to_next
=
to
;
...
...
@@ -3458,7 +3462,7 @@ int __thiscall codecvt_char_do_unshift(const codecvt_char *this,
/* ?unshift@?$codecvt@DDH@std@@QEBAHAEAHPEAD1AEAPEAD@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_char_unshift
,
20
)
int
__thiscall
codecvt_char_unshift
(
const
codecvt_char
*
this
,
in
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
_Mbstate
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
TRACE
(
"(%p %p %p %p %p)
\n
"
,
this
,
state
,
to
,
to_end
,
to_next
);
return
call_codecvt_char_do_unshift
(
this
,
state
,
to
,
to_end
,
to_next
);
...
...
@@ -3468,15 +3472,15 @@ int __thiscall codecvt_char_unshift(const codecvt_char *this,
/* ?do_length@?$codecvt@DDH@std@@MEBAHAEBHPEBD1_K@Z */
#if _MSVCP_VER <= 100
#define call_codecvt_char_do_length(this, state, from, from_end, max) CALL_VTBL_FUNC(this, 28, \
int, (const codecvt_char*, const
in
t*, const char*, const char*, MSVCP_size_t), \
int, (const codecvt_char*, const
_Mbstate
t*, const char*, const char*, MSVCP_size_t), \
(this, state, from, from_end, max))
#else
#define call_codecvt_char_do_length(this, state, from, from_end, max) CALL_VTBL_FUNC(this, 36, \
int, (const codecvt_char*, const
in
t*, const char*, const char*, MSVCP_size_t), \
int, (const codecvt_char*, const
_Mbstate
t*, const char*, const char*, MSVCP_size_t), \
(this, state, from, from_end, max))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_char_do_length
,
20
)
int
__thiscall
codecvt_char_do_length
(
const
codecvt_char
*
this
,
const
in
t
*
state
,
int
__thiscall
codecvt_char_do_length
(
const
codecvt_char
*
this
,
const
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
MSVCP_size_t
max
)
{
TRACE
(
"(%p %p %p %p %lu)
\n
"
,
this
,
state
,
from
,
from_end
,
max
);
...
...
@@ -3486,7 +3490,7 @@ int __thiscall codecvt_char_do_length(const codecvt_char *this, const int *state
/* ?length@?$codecvt@DDH@std@@QBEHABHPBD1I@Z */
/* ?length@?$codecvt@DDH@std@@QEBAHAEBHPEBD1_K@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_char_length
,
20
)
int
__thiscall
codecvt_char_length
(
const
codecvt_char
*
this
,
const
in
t
*
state
,
int
__thiscall
codecvt_char_length
(
const
codecvt_char
*
this
,
const
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
MSVCP_size_t
max
)
{
TRACE
(
"(%p %p %p %p %lu)
\n
"
,
this
,
state
,
from
,
from_end
,
max
);
...
...
@@ -3808,16 +3812,16 @@ int __thiscall codecvt_wchar_do_encoding(const codecvt_wchar *this)
#if _MSVCP_VER <= 100
#define call_codecvt_wchar_do_in(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 16, int, \
(const codecvt_wchar*,
in
t*, const char*, const char*, const char**, wchar_t*, wchar_t*, wchar_t**), \
(const codecvt_wchar*,
_Mbstate
t*, const char*, const char*, const char**, wchar_t*, wchar_t*, wchar_t**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#else
#define call_codecvt_wchar_do_in(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 24, int, \
(const codecvt_wchar*,
in
t*, const char*, const char*, const char**, wchar_t*, wchar_t*, wchar_t**), \
(const codecvt_wchar*,
_Mbstate
t*, const char*, const char*, const char**, wchar_t*, wchar_t*, wchar_t**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_do_in
,
32
)
int
__thiscall
codecvt_wchar_do_in
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_wchar_do_in
(
const
codecvt_wchar
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
wchar_t
*
to
,
wchar_t
*
to_end
,
wchar_t
**
to_next
)
{
...
...
@@ -3852,7 +3856,7 @@ int __thiscall codecvt_wchar_do_in(const codecvt_wchar *this, int *state,
/* ?in@?$codecvt@_WDH@std@@QBEHAAHPBD1AAPBDPA_W3AAPA_W@Z */
/* ?in@?$codecvt@_WDH@std@@QEBAHAEAHPEBD1AEAPEBDPEA_W3AEAPEA_W@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_in
,
32
)
int
__thiscall
codecvt_wchar_in
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_wchar_in
(
const
codecvt_wchar
*
this
,
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
const
char
**
from_next
,
wchar_t
*
to
,
wchar_t
*
to_end
,
wchar_t
**
to_next
)
{
...
...
@@ -3869,16 +3873,16 @@ int __thiscall codecvt_wchar_in(const codecvt_wchar *this, int *state,
#if _MSVCP_VER <= 100
#define call_codecvt_wchar_do_out(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 20, int, \
(const codecvt_wchar*,
in
t*, const wchar_t*, const wchar_t*, const wchar_t**, char*, char*, char**), \
(const codecvt_wchar*,
_Mbstate
t*, const wchar_t*, const wchar_t*, const wchar_t**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#else
#define call_codecvt_wchar_do_out(this, state, from, from_end, from_next, to, to_end, to_next) \
CALL_VTBL_FUNC(this, 28, int, \
(const codecvt_wchar*,
in
t*, const wchar_t*, const wchar_t*, const wchar_t**, char*, char*, char**), \
(const codecvt_wchar*,
_Mbstate
t*, const wchar_t*, const wchar_t*, const wchar_t**, char*, char*, char**), \
(this, state, from, from_end, from_next, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_do_out
,
32
)
int
__thiscall
codecvt_wchar_do_out
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_wchar_do_out
(
const
codecvt_wchar
*
this
,
_Mbstate
t
*
state
,
const
wchar_t
*
from
,
const
wchar_t
*
from_end
,
const
wchar_t
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3889,7 +3893,8 @@ int __thiscall codecvt_wchar_do_out(const codecvt_wchar *this, int *state,
*
to_next
=
to
;
while
(
*
from_next
!=
from_end
&&
*
to_next
!=
to_end
)
{
int
old_state
=
*
state
,
size
;
_Mbstatet
old_state
=
*
state
;
int
size
;
char
buf
[
MB_LEN_MAX
];
switch
((
size
=
_Wcrtomb
(
buf
,
**
from_next
,
state
,
&
this
->
cvt
)))
{
...
...
@@ -3915,7 +3920,7 @@ int __thiscall codecvt_wchar_do_out(const codecvt_wchar *this, int *state,
/* ?out@?$codecvt@_WDH@std@@QBEHAAHPB_W1AAPB_WPAD3AAPAD@Z */
/* ?out@?$codecvt@_WDH@std@@QEBAHAEAHPEB_W1AEAPEB_WPEAD3AEAPEAD@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_out
,
32
)
int
__thiscall
codecvt_wchar_out
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
int
__thiscall
codecvt_wchar_out
(
const
codecvt_wchar
*
this
,
_Mbstate
t
*
state
,
const
wchar_t
*
from
,
const
wchar_t
*
from_end
,
const
wchar_t
**
from_next
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
...
...
@@ -3931,18 +3936,18 @@ int __thiscall codecvt_wchar_out(const codecvt_wchar *this, int *state,
/* ?do_unshift@?$codecvt@_WDH@std@@MEBAHAEAHPEAD1AEAPEAD@Z */
#if _MSVCP_VER <= 100
#define call_codecvt_wchar_do_unshift(this, state, to, to_end, to_next) CALL_VTBL_FUNC(this, 24, \
int, (const codecvt_wchar*,
in
t*, char*, char*, char**), (this, state, to, to_end, to_next))
int, (const codecvt_wchar*,
_Mbstate
t*, char*, char*, char**), (this, state, to, to_end, to_next))
#else
#define call_codecvt_wchar_do_unshift(this, state, to, to_end, to_next) CALL_VTBL_FUNC(this, 32, \
int, (const codecvt_wchar*,
in
t*, char*, char*, char**), (this, state, to, to_end, to_next))
int, (const codecvt_wchar*,
_Mbstate
t*, char*, char*, char**), (this, state, to, to_end, to_next))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_do_unshift
,
20
)
int
__thiscall
codecvt_wchar_do_unshift
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
_Mbstate
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
TRACE
(
"(%p %p %p %p %p)
\n
"
,
this
,
state
,
to
,
to_end
,
to_next
);
if
(
*
state
)
WARN
(
"unexpected state: %x
\n
"
,
*
state
);
if
(
MBSTATET_TO_INT
(
state
)
)
WARN
(
"unexpected state: %x
\n
"
,
MBSTATET_TO_INT
(
state
)
);
*
to_next
=
to
;
return
CODECVT_ok
;
...
...
@@ -3954,7 +3959,7 @@ int __thiscall codecvt_wchar_do_unshift(const codecvt_wchar *this,
/* ?unshift@?$codecvt@_WDH@std@@QEBAHAEAHPEAD1AEAPEAD@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_unshift
,
20
)
int
__thiscall
codecvt_wchar_unshift
(
const
codecvt_wchar
*
this
,
in
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
_Mbstate
t
*
state
,
char
*
to
,
char
*
to_end
,
char
**
to_next
)
{
TRACE
(
"(%p %p %p %p %p)
\n
"
,
this
,
state
,
to
,
to_end
,
to_next
);
return
call_codecvt_wchar_do_unshift
(
this
,
state
,
to
,
to_end
,
to_next
);
...
...
@@ -3966,18 +3971,19 @@ int __thiscall codecvt_wchar_unshift(const codecvt_wchar *this,
/* ?do_length@?$codecvt@_WDH@std@@MEBAHAEBHPEBD1_K@Z */
#if _MSVCP_VER <= 100
#define call_codecvt_wchar_do_length(this, state, from, from_end, max) CALL_VTBL_FUNC(this, 28, \
int, (const codecvt_wchar*, const
in
t*, const char*, const char*, MSVCP_size_t), \
int, (const codecvt_wchar*, const
_Mbstate
t*, const char*, const char*, MSVCP_size_t), \
(this, state, from, from_end, max))
#else
#define call_codecvt_wchar_do_length(this, state, from, from_end, max) CALL_VTBL_FUNC(this, 36, \
int, (const codecvt_wchar*, const
in
t*, const char*, const char*, MSVCP_size_t), \
int, (const codecvt_wchar*, const
_Mbstate
t*, const char*, const char*, MSVCP_size_t), \
(this, state, from, from_end, max))
#endif
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_do_length
,
20
)
int
__thiscall
codecvt_wchar_do_length
(
const
codecvt_wchar
*
this
,
const
in
t
*
state
,
int
__thiscall
codecvt_wchar_do_length
(
const
codecvt_wchar
*
this
,
const
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
MSVCP_size_t
max
)
{
int
tmp_state
=
*
state
,
ret
=
0
;
_Mbstatet
tmp_state
=
*
state
;
int
ret
=
0
;
TRACE
(
"(%p %p %p %p %ld)
\n
"
,
this
,
state
,
from
,
from_end
,
max
);
...
...
@@ -4004,7 +4010,7 @@ int __thiscall codecvt_wchar_do_length(const codecvt_wchar *this, const int *sta
/* ?length@?$codecvt@_WDH@std@@QBEHABHPBD1I@Z */
/* ?length@?$codecvt@_WDH@std@@QEBAHAEBHPEBD1_K@Z */
DEFINE_THISCALL_WRAPPER
(
codecvt_wchar_length
,
20
)
int
__thiscall
codecvt_wchar_length
(
const
codecvt_wchar
*
this
,
const
in
t
*
state
,
int
__thiscall
codecvt_wchar_length
(
const
codecvt_wchar
*
this
,
const
_Mbstate
t
*
state
,
const
char
*
from
,
const
char
*
from_end
,
MSVCP_size_t
max
)
{
TRACE
(
"(%p %p %p %p %ld)
\n
"
,
this
,
state
,
from
,
from_end
,
max
);
...
...
@@ -8125,11 +8131,12 @@ ostreambuf_iterator_wchar* __cdecl num_put_wchar__Put(const num_put *this, ostre
ostreambuf_iterator_wchar
*
__cdecl
num_put_wchar__Putc
(
const
num_put
*
this
,
ostreambuf_iterator_wchar
*
ret
,
ostreambuf_iterator_wchar
dest
,
const
char
*
ptr
,
MSVCP_size_t
count
)
{
int
state
=
0
;
_Mbstatet
state
;
wchar_t
ch
;
TRACE
(
"(%p %p %s %ld)
\n
"
,
this
,
ret
,
debugstr_an
(
ptr
,
count
),
count
);
memset
(
&
state
,
0
,
sizeof
(
state
));
for
(;
count
>
0
;
count
--
)
{
if
(
_Mbrtowc
(
&
ch
,
ptr
++
,
1
,
&
state
,
&
this
->
cvt
)
==
1
)
ostreambuf_iterator_wchar_put
(
&
dest
,
ch
);
...
...
@@ -11086,6 +11093,7 @@ wint_t __cdecl towctrans(wint_t c, wctrans_t category)
return
towlower
(
c
);
}
#if _MSVCP_VER <= 71
/* btowc */
wint_t
__cdecl
btowc
(
int
c
)
{
...
...
@@ -11175,6 +11183,7 @@ size_t __cdecl wcsrtombs(char *dst, const wchar_t **pstr, size_t n, mbstate_t *s
}
return
ret
;
}
#endif
DEFINE_RTTI_DATA0
(
locale_facet
,
0
,
".?AVfacet@locale@std@@"
)
...
...
dlls/msvcp90/msvcp90.h
View file @
3b620834
...
...
@@ -187,6 +187,17 @@ typedef struct {
#endif
}
_Ctypevec
;
#if _MSVCP_VER >= 140
typedef
struct
{
int
wchar
;
unsigned
short
byte
,
state
;
}
_Mbstatet
;
#define MBSTATET_TO_INT(state) ((state)->wchar)
#else
typedef
int
_Mbstatet
;
#define MBSTATET_TO_INT(state) (*(state))
#endif
/* class codecvt_base */
typedef
struct
{
locale_facet
facet
;
...
...
@@ -198,10 +209,10 @@ typedef struct {
}
codecvt_char
;
MSVCP_bool
__thiscall
codecvt_base_always_noconv
(
const
codecvt_base
*
);
int
__thiscall
codecvt_char_unshift
(
const
codecvt_char
*
,
in
t
*
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_char_out
(
const
codecvt_char
*
,
in
t
*
,
const
char
*
,
int
__thiscall
codecvt_char_unshift
(
const
codecvt_char
*
,
_Mbstate
t
*
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_char_out
(
const
codecvt_char
*
,
_Mbstate
t
*
,
const
char
*
,
const
char
*
,
const
char
**
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_char_in
(
const
codecvt_char
*
,
in
t
*
,
const
char
*
,
int
__thiscall
codecvt_char_in
(
const
codecvt_char
*
,
_Mbstate
t
*
,
const
char
*
,
const
char
*
,
const
char
**
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_base_max_length
(
const
codecvt_base
*
);
...
...
@@ -223,10 +234,10 @@ typedef struct {
_Cvtvec
cvt
;
}
codecvt_wchar
;
int
__thiscall
codecvt_wchar_unshift
(
const
codecvt_wchar
*
,
in
t
*
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_wchar_out
(
const
codecvt_wchar
*
,
in
t
*
,
const
wchar_t
*
,
int
__thiscall
codecvt_wchar_unshift
(
const
codecvt_wchar
*
,
_Mbstate
t
*
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_wchar_out
(
const
codecvt_wchar
*
,
_Mbstate
t
*
,
const
wchar_t
*
,
const
wchar_t
*
,
const
wchar_t
**
,
char
*
,
char
*
,
char
**
);
int
__thiscall
codecvt_wchar_in
(
const
codecvt_wchar
*
,
in
t
*
,
const
char
*
,
int
__thiscall
codecvt_wchar_in
(
const
codecvt_wchar
*
,
_Mbstate
t
*
,
const
char
*
,
const
char
*
,
const
char
**
,
wchar_t
*
,
wchar_t
*
,
wchar_t
**
);
/* class ctype_base */
...
...
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