use wxChar, not char, for the second argument of Open() and also use wxFopen() in the implementation

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-02-02 12:46:33 +00:00
parent 9c9c3d7a8f
commit 90e2cbf780
2 changed files with 6 additions and 20 deletions

View File

@@ -42,13 +42,13 @@ public:
// def ctor // def ctor
wxFFile() { m_fp = NULL; } wxFFile() { m_fp = NULL; }
// open specified file (may fail, use IsOpened()) // open specified file (may fail, use IsOpened())
wxFFile(const wxChar *filename, const char *mode = "r"); wxFFile(const wxChar *filename, const wxChar *mode = _T("r"));
// attach to (already opened) file // attach to (already opened) file
wxFFile(FILE *fp) { m_fp = fp; } wxFFile(FILE *fp) { m_fp = fp; }
// open/close // open/close
// open a file (existing or not - the mode controls what happens) // open a file (existing or not - the mode controls what happens)
bool Open(const wxChar *filename, const char *mode = "r"); bool Open(const wxChar *filename, const wxChar *mode = _T("r"));
// closes the opened file (this is a NOP if not opened) // closes the opened file (this is a NOP if not opened)
bool Close(); bool Close();

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: ffile.cpp // Name: ffile.cpp
// Purpose: wxFFile - encapsulates "FILE *" IO stream // Purpose: wxFFile encapsulates "FILE *" IO stream
// Author: Vadim Zeitlin // Author: Vadim Zeitlin
// Modified by: // Modified by:
// Created: 14.07.99 // Created: 14.07.99
@@ -45,32 +45,18 @@
// opening the file // opening the file
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
wxFFile::wxFFile(const wxChar *filename, const char *mode) wxFFile::wxFFile(const wxChar *filename, const wxChar *mode)
{ {
Detach(); Detach();
(void)Open(filename, mode); (void)Open(filename, mode);
} }
bool wxFFile::Open(const wxChar *filename, const char *mode) bool wxFFile::Open(const wxChar *filename, const wxChar *mode)
{ {
wxASSERT_MSG( !m_fp, wxT("should close or detach the old file first") ); wxASSERT_MSG( !m_fp, wxT("should close or detach the old file first") );
#if wxUSE_UNICODE m_fp = wxFopen(filename, mode);
char *tmp_fname;
size_t fname_len;
fname_len = wxStrlen(filename)+1;
tmp_fname = new char[fname_len];
wxWX2MB(tmp_fname, filename, fname_len);
m_fp = fopen(tmp_fname, mode);
delete tmp_fname;
#else
m_fp = fopen(filename, mode);
#endif
if ( !m_fp ) if ( !m_fp )
{ {