Piotr Caban : msvcp90: Fix ios_base_setf implementation.

Alexandre Julliard julliard at winehq.org
Mon Jan 27 13:32:52 CST 2014


Module: wine
Branch: master
Commit: 47f4e08a93eac8acbcf1ca307b30d5e531a8dbc4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=47f4e08a93eac8acbcf1ca307b30d5e531a8dbc4

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Jan 20 15:08:45 2014 +0100

msvcp90: Fix ios_base_setf implementation.

---

 dlls/msvcp60/ios.c |    7 ++++++-
 dlls/msvcp90/ios.c |    7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcp60/ios.c b/dlls/msvcp60/ios.c
index a853f6d..b223d10 100644
--- a/dlls/msvcp60/ios.c
+++ b/dlls/msvcp60/ios.c
@@ -4494,7 +4494,12 @@ IOSB_fmtflags __thiscall ios_base_setf_mask(ios_base *this, IOSB_fmtflags flags,
 DEFINE_THISCALL_WRAPPER(ios_base_setf, 8)
 IOSB_fmtflags __thiscall ios_base_setf(ios_base *this, IOSB_fmtflags flags)
 {
-    return ios_base_setf_mask(this, flags, ~0);
+    IOSB_fmtflags ret = this->fmtfl;
+
+    TRACE("(%p %x)\n", this, flags);
+
+    this->fmtfl |= flags & FMTFLAG_mask;
+    return ret;
 }
 
 /* ?setstate at ios_base@std@@QAEXH_N at Z */
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
index c4ef9a0..98d1696 100644
--- a/dlls/msvcp90/ios.c
+++ b/dlls/msvcp90/ios.c
@@ -5165,7 +5165,12 @@ IOSB_fmtflags __thiscall ios_base_setf_mask(ios_base *this, IOSB_fmtflags flags,
 DEFINE_THISCALL_WRAPPER(ios_base_setf, 8)
 IOSB_fmtflags __thiscall ios_base_setf(ios_base *this, IOSB_fmtflags flags)
 {
-    return ios_base_setf_mask(this, flags, ~0);
+    IOSB_fmtflags ret = this->fmtfl;
+
+    TRACE("(%p %x)\n", this, flags);
+
+    this->fmtfl |= flags & FMTFLAG_mask;
+    return ret;
 }
 
 /* ?setstate at ios_base@std@@QAEXH_N at Z */




More information about the wine-cvs mailing list