Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
7fe93a5f
Commit
7fe93a5f
authored
Sep 14, 2012
by
Daniel Lehman
Committed by
Alexandre Julliard
Oct 26, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp90: In istream::seekg, don't use sentry and clear state.
parent
addd324d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
60 deletions
+47
-60
ios.c
dlls/msvcp90/ios.c
+47
-60
ios.c
dlls/msvcp90/tests/ios.c
+0
-0
No files found.
dlls/msvcp90/ios.c
View file @
7fe93a5f
...
...
@@ -7762,24 +7762,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
;
}
...
...
@@ -7792,24 +7788,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
;
}
...
...
@@ -9049,24 +9042,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
;
}
...
...
@@ -9081,24 +9071,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
;
}
...
...
dlls/msvcp90/tests/ios.c
View file @
7fe93a5f
This diff is collapsed.
Click to expand it.
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