msvcp60: Added basic_istream::seekg implementation.
This commit is contained in:
parent
fd727fc15e
commit
1fb247b0e3
|
@ -7332,6 +7332,36 @@ fpos_int* __thiscall basic_istream_char_tellg(basic_istream_char *this, fpos_int
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z */
|
||||||
|
/* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z */
|
||||||
|
DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg, 12)
|
||||||
|
basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *this, streamoff off, int dir)
|
||||||
|
{
|
||||||
|
basic_ios_char *base = basic_istream_char_get_basic_ios(this);
|
||||||
|
|
||||||
|
TRACE("(%p %ld %d)\n", this, off, dir);
|
||||||
|
|
||||||
|
if(basic_istream_char_sentry_create(this, TRUE)) {
|
||||||
|
if(!ios_base_fail(&base->base)) {
|
||||||
|
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
|
||||||
|
fpos_int ret;
|
||||||
|
|
||||||
|
basic_streambuf_char_pubseekoff(strbuf, &ret, off, dir, OPENMODE_in);
|
||||||
|
basic_istream_char_sentry_destroy(this);
|
||||||
|
|
||||||
|
if(ret.off==0 && ret.pos==-1 && ret.state==0)
|
||||||
|
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||||
|
else
|
||||||
|
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
basic_istream_char_sentry_destroy(this);
|
||||||
|
|
||||||
|
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||||
|
return 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@@QAEAAV12@V?$fpos@H@2@@Z */
|
||||||
/* ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@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)
|
DEFINE_THISCALL_WRAPPER(basic_istream_char_seekg_fpos, 28)
|
||||||
|
@ -8572,6 +8602,36 @@ fpos_int* __thiscall basic_istream_wchar_tellg(basic_istream_wchar *this, fpos_i
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z */
|
||||||
|
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z */
|
||||||
|
DEFINE_THISCALL_WRAPPER(basic_istream_wchar_seekg, 12)
|
||||||
|
basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *this, streamoff off, int dir)
|
||||||
|
{
|
||||||
|
basic_ios_wchar *base = basic_istream_wchar_get_basic_ios(this);
|
||||||
|
|
||||||
|
TRACE("(%p %ld %d)\n", this, off, dir);
|
||||||
|
|
||||||
|
if(basic_istream_wchar_sentry_create(this, TRUE)) {
|
||||||
|
if(!ios_base_fail(&base->base)) {
|
||||||
|
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
|
||||||
|
fpos_int ret;
|
||||||
|
|
||||||
|
basic_streambuf_wchar_pubseekoff(strbuf, &ret, off, dir, OPENMODE_in);
|
||||||
|
basic_istream_wchar_sentry_destroy(this);
|
||||||
|
|
||||||
|
if(ret.off==0 && ret.pos==-1 && ret.state==0)
|
||||||
|
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||||
|
else
|
||||||
|
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
basic_istream_wchar_sentry_destroy(this);
|
||||||
|
|
||||||
|
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
|
/* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
|
||||||
/* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
|
/* ?seekg@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
|
||||||
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
|
/* ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
|
||||||
|
|
|
@ -3908,14 +3908,14 @@
|
||||||
@ cdecl -arch=win64 ?scan_not@?$ctype@D@std@@QEBAPEBDFPEBD0@Z(ptr long ptr ptr) ctype_char_scan_not
|
@ cdecl -arch=win64 ?scan_not@?$ctype@D@std@@QEBAPEBDFPEBD0@Z(ptr long ptr ptr) ctype_char_scan_not
|
||||||
@ thiscall -arch=win32 ?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z(ptr long ptr ptr) ctype_wchar_scan_not
|
@ thiscall -arch=win32 ?scan_not@?$ctype@G@std@@QBEPBGFPBG0@Z(ptr long ptr ptr) ctype_wchar_scan_not
|
||||||
@ cdecl -arch=win64 ?scan_not@?$ctype@G@std@@QEBAPEBGFPEBG0@Z(ptr long ptr ptr) ctype_wchar_scan_not
|
@ cdecl -arch=win64 ?scan_not@?$ctype@G@std@@QEBAPEBGFPEBG0@Z(ptr long ptr ptr) ctype_wchar_scan_not
|
||||||
@ stub -arch=win32 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
|
@ thiscall -arch=win32 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z(ptr long long) basic_istream_char_seekg
|
||||||
@ cdecl -arch=win64 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z(ptr ptr) basic_istream_char_seekg_fpos
|
@ cdecl -arch=win64 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z(ptr ptr) basic_istream_char_seekg_fpos
|
||||||
@ thiscall -arch=win32 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z(ptr long long int64 long long) basic_istream_char_seekg_fpos
|
@ thiscall -arch=win32 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z(ptr long long int64 long long) basic_istream_char_seekg_fpos
|
||||||
@ stub -arch=win64 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
|
@ cdecl -arch=win64 ?seekg@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z(ptr long long) basic_istream_char_seekg
|
||||||
@ stub -arch=win32 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z
|
@ thiscall -arch=win32 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@JW4seekdir@ios_base@2@@Z(ptr long long) basic_istream_wchar_seekg
|
||||||
@ cdecl -arch=win64 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z(ptr ptr) basic_istream_wchar_seekg_fpos
|
@ cdecl -arch=win64 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z(ptr ptr) basic_istream_wchar_seekg_fpos
|
||||||
@ thiscall -arch=win32 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z(ptr long long int64 long long) basic_istream_wchar_seekg_fpos
|
@ thiscall -arch=win32 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z(ptr long long int64 long long) basic_istream_wchar_seekg_fpos
|
||||||
@ stub -arch=win64 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z
|
@ cdecl -arch=win64 ?seekg@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAAEAV12@_JW4seekdir@ios_base@2@@Z(ptr long long) basic_istream_wchar_seekg
|
||||||
@ stub -arch=win32 ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
|
@ stub -arch=win32 ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
|
||||||
@ stub -arch=win64 ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
|
@ stub -arch=win64 ?seekoff@?$basic_filebuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JW4seekdir@ios_base@2@H@Z
|
||||||
@ stub -arch=win32 ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
|
@ stub -arch=win32 ?seekoff@?$basic_filebuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JW4seekdir@ios_base@2@H@Z
|
||||||
|
|
Loading…
Reference in New Issue