Commit 3b620834 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcp140: Introduce _Mbstatet structure.

parent bbab63cf
...@@ -187,6 +187,17 @@ typedef struct { ...@@ -187,6 +187,17 @@ typedef struct {
#endif #endif
} _Ctypevec; } _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 */ /* class codecvt_base */
typedef struct { typedef struct {
locale_facet facet; locale_facet facet;
...@@ -198,10 +209,10 @@ typedef struct { ...@@ -198,10 +209,10 @@ typedef struct {
} codecvt_char; } codecvt_char;
MSVCP_bool __thiscall codecvt_base_always_noconv(const codecvt_base*); MSVCP_bool __thiscall codecvt_base_always_noconv(const codecvt_base*);
int __thiscall codecvt_char_unshift(const codecvt_char*, int*, char*, char*, char**); int __thiscall codecvt_char_unshift(const codecvt_char*, _Mbstatet*, char*, char*, char**);
int __thiscall codecvt_char_out(const codecvt_char*, int*, const char*, int __thiscall codecvt_char_out(const codecvt_char*, _Mbstatet*, const char*,
const char*, const char**, char*, char*, char**); const char*, const char**, char*, char*, char**);
int __thiscall codecvt_char_in(const codecvt_char*, int*, const char*, int __thiscall codecvt_char_in(const codecvt_char*, _Mbstatet*, const char*,
const char*, const char**, char*, char*, char**); const char*, const char**, char*, char*, char**);
int __thiscall codecvt_base_max_length(const codecvt_base*); int __thiscall codecvt_base_max_length(const codecvt_base*);
...@@ -223,10 +234,10 @@ typedef struct { ...@@ -223,10 +234,10 @@ typedef struct {
_Cvtvec cvt; _Cvtvec cvt;
} codecvt_wchar; } codecvt_wchar;
int __thiscall codecvt_wchar_unshift(const codecvt_wchar*, int*, char*, char*, char**); int __thiscall codecvt_wchar_unshift(const codecvt_wchar*, _Mbstatet*, char*, char*, char**);
int __thiscall codecvt_wchar_out(const codecvt_wchar*, int*, const wchar_t*, int __thiscall codecvt_wchar_out(const codecvt_wchar*, _Mbstatet*, const wchar_t*,
const wchar_t*, const wchar_t**, char*, char*, char**); const wchar_t*, const wchar_t**, char*, char*, char**);
int __thiscall codecvt_wchar_in(const codecvt_wchar*, int*, const char*, int __thiscall codecvt_wchar_in(const codecvt_wchar*, _Mbstatet*, const char*,
const char*, const char**, wchar_t*, wchar_t*, wchar_t**); const char*, const char**, wchar_t*, wchar_t*, wchar_t**);
/* class ctype_base */ /* class ctype_base */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment