Piotr Caban : msvcp60: Added basic_fstream::open implementation.

Alexandre Julliard julliard at winehq.org
Mon Oct 8 13:39:56 CDT 2012


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Oct  5 14:55:16 2012 +0200

msvcp60: Added basic_fstream::open implementation.

---

 dlls/msvcp60/ios.c        |   46 +++++++++++++++++++++++++++++++++++++++++++++
 dlls/msvcp60/msvcp60.spec |   16 +++++++-------
 2 files changed, 54 insertions(+), 8 deletions(-)

diff --git a/dlls/msvcp60/ios.c b/dlls/msvcp60/ios.c
index 6840b78..7c1c202 100644
--- a/dlls/msvcp60/ios.c
+++ b/dlls/msvcp60/ios.c
@@ -10027,6 +10027,29 @@ MSVCP_bool __thiscall basic_fstream_char_is_open(const basic_fstream_char *this)
     return basic_filebuf_char_is_open(&this->filebuf);
 }
 
+/* ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z */
+/* ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z */
+DEFINE_THISCALL_WRAPPER(basic_fstream_char_open, 12)
+void __thiscall basic_fstream_char_open(basic_fstream_char *this,
+        const char *name, int mode)
+{
+    TRACE("(%p %s %d)\n", this, name, mode);
+
+    if(!basic_filebuf_char_open(&this->filebuf, name, mode, _SH_DENYNO)) {
+        basic_ios_char *basic_ios = basic_istream_char_get_basic_ios(&this->base.base1);
+        basic_ios_char_setstate(basic_ios, IOSTATE_failbit);
+    }
+}
+
+/* ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z */
+/* ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z */
+DEFINE_THISCALL_WRAPPER(basic_fstream_char_open_old, 12)
+void __thiscall basic_fstream_char_open_old(basic_fstream_char *this,
+        const char *name, int mode)
+{
+    basic_fstream_char_open(this, name, mode);
+}
+
 /* ?rdbuf@?$basic_fstream at DU?$char_traits at D@std@@@std@@QBEPAV?$basic_filebuf at DU?$char_traits at D@std@@@2 at XZ */
 /* ?rdbuf@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEBAPEAV?$basic_filebuf at DU?$char_traits at D@std@@@2 at XZ */
 DEFINE_THISCALL_WRAPPER(basic_fstream_char_rdbuf, 4)
@@ -10156,6 +10179,29 @@ MSVCP_bool __thiscall basic_fstream_wchar_is_open(const basic_fstream_wchar *thi
     return basic_filebuf_wchar_is_open(&this->filebuf);
 }
 
+/* ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QAEPAV12 at PBDH@Z */
+/* ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QEAAPEAV12 at PEBDH@Z */
+DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open, 12)
+void __thiscall basic_fstream_wchar_open(basic_fstream_wchar *this,
+        const char *name, int mode)
+{
+    TRACE("(%p %s %d)\n", this, name, mode);
+
+    if(!basic_filebuf_wchar_open(&this->filebuf, name, mode, _SH_DENYNO)) {
+        basic_ios_wchar *basic_ios = basic_istream_wchar_get_basic_ios(&this->base.base1);
+        basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit);
+    }
+}
+
+/* ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QAEPAV12 at PBDF@Z */
+/* ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QEAAPEAV12 at PEBDF@Z */
+DEFINE_THISCALL_WRAPPER(basic_fstream_wchar_open_old, 12)
+void __thiscall basic_fstream_wchar_open_old(basic_fstream_wchar *this,
+        const char *name, int mode)
+{
+    basic_fstream_wchar_open(this, name, mode);
+}
+
 /* ?rdbuf@?$basic_fstream at _WU?$char_traits at _W@std@@@std@@QBEPAV?$basic_filebuf at _WU?$char_traits at _W@std@@@2 at XZ */
 /* ?rdbuf@?$basic_fstream at _WU?$char_traits at _W@std@@@std@@QEBAPEAV?$basic_filebuf at _WU?$char_traits at _W@std@@@2 at XZ */
 /* ?rdbuf@?$basic_fstream at GU?$char_traits at G@std@@@std@@QBEPAV?$basic_filebuf at GU?$char_traits at G@std@@@2 at XZ */
diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec
index be07389..94bd7ec 100644
--- a/dlls/msvcp60/msvcp60.spec
+++ b/dlls/msvcp60/msvcp60.spec
@@ -3506,14 +3506,14 @@
 @ cdecl -arch=win64 ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QEAAPEAV12 at PEBDF@Z(ptr str long) basic_filebuf_wchar_open_mode_old
 @ thiscall -arch=win32 ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QAEPAV12 at PBDH@Z(ptr str long) basic_filebuf_wchar_open_mode
 @ cdecl -arch=win64 ?open@?$basic_filebuf at GU?$char_traits at G@std@@@std@@QEAAPEAV12 at PEBDH@Z(ptr str long) basic_filebuf_wchar_open_mode
-@ stub -arch=win32 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z
-@ stub -arch=win64 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z
-@ stub -arch=win32 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z
-@ stub -arch=win64 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z
-@ stub -arch=win32 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QAEXPBDF at Z
-@ stub -arch=win64 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z
-@ stub -arch=win32 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z
-@ stub -arch=win64 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z
+@ thiscall -arch=win32 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z(ptr str long) basic_fstream_char_open_old
+@ cdecl -arch=win64 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_fstream_char_open_old
+@ thiscall -arch=win32 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z(ptr str long) basic_fstream_char_open
+@ cdecl -arch=win64 ?open@?$basic_fstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z(ptr str long) basic_fstream_char_open
+@ thiscall -arch=win32 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QAEXPBDF at Z(ptr str long) basic_fstream_wchar_open_old
+@ cdecl -arch=win64 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_fstream_wchar_open_old
+@ thiscall -arch=win32 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z(ptr str long) basic_fstream_wchar_open
+@ cdecl -arch=win64 ?open@?$basic_fstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z(ptr str long) basic_fstream_wchar_open
 @ thiscall -arch=win32 ?open@?$basic_ifstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z(ptr str long) basic_ifstream_char_open_old
 @ cdecl -arch=win64 ?open@?$basic_ifstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_ifstream_char_open_old
 @ thiscall -arch=win32 ?open@?$basic_ifstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z(ptr str long) basic_ifstream_char_open




More information about the wine-cvs mailing list