msvcp: Sync istream<>::seekg implementations.
This commit is contained in:
parent
7fe93a5f75
commit
bc62a7a9db
|
@ -6006,24 +6006,20 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *this
|
|||
|
||||
TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(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;
|
||||
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);
|
||||
basic_streambuf_char_pubseekoff(strbuf, &ret, off, dir, OPENMODE_in);
|
||||
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -6036,24 +6032,21 @@ basic_istream_char* __thiscall basic_istream_char_seekg_fpos(basic_istream_char
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_char_sentry_destroy(this);
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -7159,24 +7152,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
|
|||
|
||||
TRACE("(%p %s %d)\n", this, wine_dbgstr_longlong(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;
|
||||
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);
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -7191,24 +7181,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg_fpos(basic_istream_wch
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_wchar_sentry_destroy(this);
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -7397,24 +7397,20 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *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;
|
||||
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);
|
||||
basic_streambuf_char_pubseekoff(strbuf, &ret, off, dir, OPENMODE_in);
|
||||
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -7427,24 +7423,21 @@ basic_istream_char* __thiscall basic_istream_char_seekg_fpos(basic_istream_char
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_char_sentry_destroy(this);
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -8675,24 +8668,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
|
|||
|
||||
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;
|
||||
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);
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -8707,24 +8697,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg_fpos(basic_istream_wch
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_wchar_sentry_destroy(this);
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -7729,24 +7729,20 @@ basic_istream_char* __thiscall basic_istream_char_seekg(basic_istream_char *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;
|
||||
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);
|
||||
basic_streambuf_char_pubseekoff(strbuf, &ret, off, dir, OPENMODE_in);
|
||||
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -7759,24 +7755,21 @@ basic_istream_char* __thiscall basic_istream_char_seekg_fpos(basic_istream_char
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_char *strbuf = basic_ios_char_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_char_sentry_destroy(this);
|
||||
basic_streambuf_char_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_char_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_char_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -9012,24 +9005,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg(basic_istream_wchar *t
|
|||
|
||||
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;
|
||||
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);
|
||||
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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -9044,24 +9034,21 @@ basic_istream_wchar* __thiscall basic_istream_wchar_seekg_fpos(basic_istream_wch
|
|||
|
||||
TRACE("(%p %s)\n", this, debugstr_fpos_int(&pos));
|
||||
|
||||
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;
|
||||
if(!ios_base_fail(&base->base)) {
|
||||
basic_streambuf_wchar *strbuf = basic_ios_wchar_rdbuf_get(base);
|
||||
fpos_int ret;
|
||||
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, OPENMODE_in);
|
||||
basic_istream_wchar_sentry_destroy(this);
|
||||
basic_streambuf_wchar_pubseekpos(strbuf, &ret, pos, 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);
|
||||
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;
|
||||
}else
|
||||
basic_ios_wchar_clear(base, IOSTATE_goodbit);
|
||||
|
||||
basic_ios_wchar_setstate(base, IOSTATE_failbit);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue