Piotr Caban : msvcp60: Added basic_ofstream::open implementation.
Alexandre Julliard
julliard at winehq.org
Mon Oct 8 13:39:56 CDT 2012
Module: wine
Branch: master
Commit: 4a7420296b13d882ff0ff1e4cc4d81aaca6a2b7d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a7420296b13d882ff0ff1e4cc4d81aaca6a2b7d
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Oct 5 14:55:01 2012 +0200
msvcp60: Added basic_ofstream::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 a169851..6840b78 100644
--- a/dlls/msvcp60/ios.c
+++ b/dlls/msvcp60/ios.c
@@ -9452,6 +9452,29 @@ MSVCP_bool __thiscall basic_ofstream_char_is_open(const basic_ofstream_char *thi
return basic_filebuf_char_is_open(&this->filebuf);
}
+/* ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z */
+/* ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z */
+DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open, 12)
+void __thiscall basic_ofstream_char_open(basic_ofstream_char *this,
+ const char *name, int mode)
+{
+ TRACE("(%p %s %d)\n", this, name, mode);
+
+ if(!basic_filebuf_char_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) {
+ basic_ios_char *basic_ios = basic_ostream_char_get_basic_ios(&this->base);
+ basic_ios_char_setstate(basic_ios, IOSTATE_failbit);
+ }
+}
+
+/* ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z */
+/* ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z */
+DEFINE_THISCALL_WRAPPER(basic_ofstream_char_open_old, 12)
+void __thiscall basic_ofstream_char_open_old(basic_ofstream_char *this,
+ const char *name, short mode)
+{
+ basic_ofstream_char_open(this, name, mode);
+}
+
/* ?rdbuf@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QBEPAV?$basic_filebuf at DU?$char_traits at D@std@@@2 at XZ */
/* ?rdbuf@?$basic_ofstream 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_ofstream_char_rdbuf, 4)
@@ -9580,6 +9603,29 @@ MSVCP_bool __thiscall basic_ofstream_wchar_is_open(const basic_ofstream_wchar *t
return basic_filebuf_wchar_is_open(&this->filebuf);
}
+/* ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z */
+/* ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z */
+DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open, 12)
+void __thiscall basic_ofstream_wchar_open(basic_ofstream_wchar *this,
+ const char *name, int mode)
+{
+ TRACE("(%p %s %d)\n", this, name, mode);
+
+ if(!basic_filebuf_wchar_open(&this->filebuf, name, mode|OPENMODE_out, _SH_DENYNO)) {
+ basic_ios_wchar *basic_ios = basic_ostream_wchar_get_basic_ios(&this->base);
+ basic_ios_wchar_setstate(basic_ios, IOSTATE_failbit);
+ }
+}
+
+/* ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDF at Z */
+/* ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z */
+DEFINE_THISCALL_WRAPPER(basic_ofstream_wchar_open_old, 12)
+void __thiscall basic_ofstream_wchar_open_old(basic_ofstream_wchar *this,
+ const char *name, int mode)
+{
+ basic_ofstream_wchar_open(this, name, mode);
+}
+
/* ?rdbuf@?$basic_ofstream at _WU?$char_traits at _W@std@@@std@@QBEPAV?$basic_filebuf at _WU?$char_traits at _W@std@@@2 at XZ */
/* ?rdbuf@?$basic_ofstream at _WU?$char_traits at _W@std@@@std@@QEBAPEAV?$basic_filebuf at _WU?$char_traits at _W@std@@@2 at XZ */
/* ?rdbuf@?$basic_ofstream 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 97e9458..be07389 100644
--- a/dlls/msvcp60/msvcp60.spec
+++ b/dlls/msvcp60/msvcp60.spec
@@ -3522,14 +3522,14 @@
@ cdecl -arch=win64 ?open@?$basic_ifstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_ifstream_wchar_open_old
@ thiscall -arch=win32 ?open@?$basic_ifstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z(ptr str long) basic_ifstream_wchar_open
@ cdecl -arch=win64 ?open@?$basic_ifstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z(ptr str long) basic_ifstream_wchar_open
-@ stub -arch=win32 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z
-@ stub -arch=win64 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z
-@ stub -arch=win32 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z
-@ stub -arch=win64 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z
-@ stub -arch=win32 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDF at Z
-@ stub -arch=win64 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z
-@ stub -arch=win32 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z
-@ stub -arch=win64 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z
+@ thiscall -arch=win32 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDF at Z(ptr str long) basic_ofstream_char_open_old
+@ cdecl -arch=win64 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_ofstream_char_open_old
+@ thiscall -arch=win32 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QAEXPBDH at Z(ptr str long) basic_ofstream_char_open
+@ cdecl -arch=win64 ?open@?$basic_ofstream at DU?$char_traits at D@std@@@std@@QEAAXPEBDH at Z(ptr str long) basic_ofstream_char_open
+@ thiscall -arch=win32 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDF at Z(ptr str long) basic_ofstream_wchar_open_old
+@ cdecl -arch=win64 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDF at Z(ptr str long) basic_ofstream_wchar_open_old
+@ thiscall -arch=win32 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QAEXPBDH at Z(ptr str long) basic_ofstream_wchar_open
+@ cdecl -arch=win64 ?open@?$basic_ofstream at GU?$char_traits at G@std@@@std@@QEAAXPEBDH at Z(ptr str long) basic_ofstream_wchar_open
@ stub -arch=win32 ?open@?$messages at D@std@@QBEHABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at ABVlocale@2@@Z
@ stub -arch=win64 ?open@?$messages at D@std@@QEBAHAEBV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at AEBVlocale@2@@Z
@ stub -arch=win32 ?open@?$messages at G@std@@QBEHABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at ABVlocale@2@@Z
More information about the wine-cvs
mailing list