msvcp71: Fixed basic_streambuf<wchar> vtable.

This commit is contained in:
Piotr Caban 2012-11-02 17:18:20 +01:00 committed by Alexandre Julliard
parent 79f314c31a
commit 4455250a98
1 changed files with 70 additions and 45 deletions

View File

@ -694,7 +694,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos)
@ -709,7 +708,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos)
@ -738,7 +736,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos)
@ -753,7 +750,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_filebuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_filebuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_filebuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_filebuf_wchar_seekpos)
@ -782,7 +778,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos)
@ -797,7 +792,6 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(basic_stringbuf_wchar_underflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekoff)
VTABLE_ADD_FUNC(basic_stringbuf_wchar_seekpos)
@ -1387,13 +1381,24 @@ int __thiscall basic_streambuf_char_pubsync(basic_streambuf_char *this)
return call_basic_streambuf_char_sync(this);
}
/* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
/* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn, 12)
#define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
streamsize __thiscall basic_streambuf_char_xsgetn(basic_streambuf_char *this, char *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return basic_streambuf_char__Xsgetn_s(this, ptr, -1, count);
}
/* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
/* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn, 12)
streamsize __thiscall basic_streambuf_char_sgetn(basic_streambuf_char *this, char *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return basic_streambuf_char__Xsgetn_s(this, ptr, -1, count);
return call_basic_streambuf_char_xsgetn(this, ptr, count);
}
/* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
@ -1506,17 +1511,6 @@ int __thiscall basic_streambuf_char_snextc(basic_streambuf_char *this)
EOF : basic_streambuf_char_sgetc(this);
}
/* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
/* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn, 12)
#define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
streamsize __thiscall basic_streambuf_char_xsgetn(basic_streambuf_char *this, char *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return basic_streambuf_char__Xsgetn_s(this, ptr, -1, count);
}
/* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
/* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn, 12)
@ -1834,10 +1828,7 @@ unsigned short __thiscall basic_streambuf_wchar_uflow(basic_streambuf_wchar *thi
/* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
/* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
/* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s, 16)
#define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count)
static streamsize basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count)
{
streamsize copied, chunk;
unsigned short c;
@ -1874,7 +1865,7 @@ streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *thi
static streamsize basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count)
{
TRACE("(%p %p %lu %ld)\n", this, ptr, size, count);
return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count);
return basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count);
}
/* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
@ -1960,7 +1951,7 @@ locale* __thiscall basic_streambuf_wchar_getloc(const basic_streambuf_wchar *thi
/* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
/* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue, 8)
#define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
#define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 48, \
void, (basic_streambuf_wchar*, const locale*), (this, loc))
void __thiscall basic_streambuf_wchar_imbue(basic_streambuf_wchar *this, const locale *loc)
{
@ -2046,7 +2037,7 @@ locale* __thiscall basic_streambuf_wchar_pubimbue(basic_streambuf_wchar *this, l
/* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
/* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff, 20)
#define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
#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))
fpos_int* __thiscall basic_streambuf_wchar_seekoff(basic_streambuf_wchar *this,
fpos_int *ret, streamoff off, int way, int mode)
@ -2087,7 +2078,7 @@ fpos_int* __thiscall basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar
/* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
/* ?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)
#define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
#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))
fpos_int* __thiscall basic_streambuf_wchar_seekpos(basic_streambuf_wchar *this,
fpos_int *ret, fpos_int pos, int mode)
@ -2128,7 +2119,7 @@ fpos_int* __thiscall basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar
/* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
/* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf, 12)
#define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
#define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 40, \
basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
basic_streambuf_wchar* __thiscall basic_streambuf_wchar_setbuf(basic_streambuf_wchar *this, wchar_t *buf, streamsize count)
{
@ -2152,7 +2143,7 @@ basic_streambuf_wchar* __thiscall basic_streambuf_wchar_pubsetbuf(basic_streambu
/* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
/* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync, 4)
#define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
#define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 44, \
int, (basic_streambuf_wchar*), (this))
int __thiscall basic_streambuf_wchar_sync(basic_streambuf_wchar *this)
{
@ -2171,6 +2162,19 @@ int __thiscall basic_streambuf_wchar_pubsync(basic_streambuf_wchar *this)
return call_basic_streambuf_wchar_sync(this);
}
/* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
/* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
/* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
/* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn, 12)
#define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
streamsize __thiscall basic_streambuf_wchar_xsgetn(basic_streambuf_wchar *this, wchar_t *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return call_basic_streambuf_wchar_xsgetn(this, ptr, count);
}
/* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
/* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
/* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
@ -2179,7 +2183,7 @@ DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn, 12)
streamsize __thiscall basic_streambuf_wchar_sgetn(basic_streambuf_wchar *this, wchar_t *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, -1, count);
return call_basic_streambuf_wchar_xsgetn(this, ptr, count);
}
/* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
@ -2310,25 +2314,12 @@ unsigned short __thiscall basic_streambuf_wchar_snextc(basic_streambuf_wchar *th
WEOF : basic_streambuf_wchar_sgetc(this);
}
/* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
/* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
/* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
/* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn, 12)
#define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
streamsize __thiscall basic_streambuf_wchar_xsgetn(basic_streambuf_wchar *this, wchar_t *ptr, streamsize count)
{
TRACE("(%p %p %ld)\n", this, ptr, count);
return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, -1, count);
}
/* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
/* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
/* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
/* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn, 12)
#define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
#define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 28, \
streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
streamsize __thiscall basic_streambuf_wchar_xsputn(basic_streambuf_wchar *this, const wchar_t *ptr, streamsize count)
{
@ -7583,7 +7574,24 @@ static basic_istream_char* basic_istream_char__Read_s(basic_istream_char *this,
DEFINE_THISCALL_WRAPPER(basic_istream_char_read, 12)
basic_istream_char* __thiscall basic_istream_char_read(basic_istream_char *this, char *str, streamsize count)
{
return basic_istream_char__Read_s(this, str, count, count);
basic_ios_char *base = basic_istream_char_get_basic_ios(this);
IOSB_iostate state = IOSTATE_goodbit;
TRACE("(%p %p %ld)\n", this, str, count);
if(basic_istream_char_sentry_create(this, TRUE)) {
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
this->count = basic_streambuf_char_sgetn(strbuf, str, count);
if(this->count != count)
state |= IOSTATE_failbit | IOSTATE_eofbit;
}else {
this->count = 0;
}
basic_istream_char_sentry_destroy(this);
basic_ios_char_setstate(base, state);
return this;
}
/* ?_Readsome_s@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
@ -8847,7 +8855,24 @@ static basic_istream_wchar* basic_istream_wchar__Read_s(basic_istream_wchar *thi
DEFINE_THISCALL_WRAPPER(basic_istream_wchar_read, 12)
basic_istream_wchar* __thiscall basic_istream_wchar_read(basic_istream_wchar *this, wchar_t *str, streamsize count)
{
return basic_istream_wchar__Read_s(this, str, count, count);
basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(this);
IOSB_iostate state = IOSTATE_goodbit;
TRACE("(%p %p %ld)\n", this, str, count);
if(basic_istream_wchar_sentry_create(this, TRUE)) {
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
this->count = basic_streambuf_wchar_sgetn(strbuf, str, count);
if(this->count != count)
state |= IOSTATE_failbit | IOSTATE_eofbit;
}else {
this->count = 0;
}
basic_istream_wchar_sentry_destroy(this);
basic_ios_wchar_setstate(base, state);
return this;
}
/* ?_Readsome_s@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */