Yifu Wang : msvcp120: Added std::ios_base::operator bool() implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Nov 17 07:43:45 CST 2014


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

Author: Yifu Wang <ywang at esri.com>
Date:   Fri Nov 14 13:11:40 2014 -0800

msvcp120: Added std::ios_base::operator bool() implementation.

---

 dlls/msvcp120/msvcp120.spec |  6 +++---
 dlls/msvcp90/ios.c          | 10 ++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec
index 0c346ca..8ebdc80 100644
--- a/dlls/msvcp120/msvcp120.spec
+++ b/dlls/msvcp120/msvcp120.spec
@@ -913,9 +913,9 @@
 @ cdecl -arch=arm ??Bid at locale@std@@QAAIXZ(ptr) locale_id_operator_size_t
 @ thiscall -arch=i386 ??Bid at locale@std@@QAEIXZ(ptr) locale_id_operator_size_t
 @ cdecl -arch=win64 ??Bid at locale@std@@QEAA_KXZ(ptr) locale_id_operator_size_t
-@ stub -arch=arm ??Bios_base at std@@QBA_NXZ
-@ stub -arch=win32 ??Bios_base at std@@QBE_NXZ
-@ stub -arch=win64 ??Bios_base at std@@QEBA_NXZ
+@ cdecl -arch=arm ??Bios_base at std@@QBA_NXZ(ptr) ios_base_operator_bool
+@ thiscall -arch=i386 ??Bios_base at std@@QBE_NXZ(ptr) ios_base_operator_bool
+@ cdecl -arch=win64 ??Bios_base at std@@QEBA_NXZ(ptr) ios_base_operator_bool
 @ extern ??_7?$basic_ios at DU?$char_traits at D@std@@@std@@6B@ MSVCP_basic_ios_char_vtable
 @ extern ??_7?$basic_ios at GU?$char_traits at G@std@@@std@@6B@ MSVCP_basic_ios_short_vtable
 @ extern ??_7?$basic_ios at _WU?$char_traits at _W@std@@@std@@6B@ MSVCP_basic_ios_wchar_vtable
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
index b758887..80aebec 100644
--- a/dlls/msvcp90/ios.c
+++ b/dlls/msvcp90/ios.c
@@ -5042,6 +5042,16 @@ void* __thiscall ios_base_op_fail(const ios_base *this)
     return ios_base_fail(this) ? NULL : (void*)this;
 }
 
+/* ??Bios_base at std@@QBA_NXZ */
+/* ??Bios_base at std@@QBE_NXZ */
+/* ??Bios_base at std@@QEBA_NXZ */
+DEFINE_THISCALL_WRAPPER(ios_base_operator_bool, 4)
+MSVCP_bool __thiscall ios_base_operator_bool(const ios_base *this)
+{
+    TRACE("(%p)\n", this);
+    return (this->state & (IOSTATE_failbit|IOSTATE_badbit)) == 0;
+}
+
 /* ?_Addstd at ios_base@std@@SAXPAV12@@Z */
 /* ?_Addstd at ios_base@std@@SAXPEAV12@@Z */
 void CDECL ios_base_Addstd(ios_base *add)




More information about the wine-cvs mailing list