compilation in Unicode mode works with VC++

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-04-01 23:19:12 +00:00
parent a250a49231
commit 9728ba5c8a
31 changed files with 267 additions and 239 deletions

View File

@@ -287,7 +287,7 @@ bool wxDocument::OnSaveDocument(const wxString& file)
msgTitle = wxString(_("File error"));
#if wxUSE_STD_IOSTREAM
ofstream store(wxString(file.fn_str()));
ofstream store(wxString(file.fn_str()).mb_str());
if (store.fail() || store.bad())
#else
wxFileOutputStream store(wxString(file.fn_str()));
@@ -323,7 +323,7 @@ bool wxDocument::OnOpenDocument(const wxString& file)
msgTitle = wxString(_("File error"));
#if wxUSE_STD_IOSTREAM
ifstream store(wxString(file.fn_str()));
ifstream store(wxString(file.fn_str()).mb_str());
if (store.fail() || store.bad())
#else
wxFileInputStream store(wxString(file.fn_str()));
@@ -2164,7 +2164,7 @@ bool wxTransferFileToStream(const wxString& filename, ostream& stream)
FILE *fd1;
int ch;
if ((fd1 = fopen (filename.fn_str(), "rb")) == NULL)
if ((fd1 = wxFopen (filename.fn_str(), _T("rb"))) == NULL)
return FALSE;
while ((ch = getc (fd1)) != EOF)
@@ -2179,7 +2179,7 @@ bool wxTransferStreamToFile(istream& stream, const wxString& filename)
FILE *fd1;
int ch;
if ((fd1 = fopen (filename.fn_str(), "wb")) == NULL)
if ((fd1 = wxFopen (filename.fn_str(), _T("wb"))) == NULL)
{
return FALSE;
}

View File

@@ -87,36 +87,6 @@
#include <sys/stat.h> // stat
#endif
// Microsoft compiler loves underscores, feed them to it
#ifdef __VISUALC__
// functions
#define open _open
#define close _close
#define read _read
#define write _write
#define lseek _lseek
#define fsync _commit
#define access _access
#define eof _eof
// types
#define stat _stat
// constants
#define O_RDONLY _O_RDONLY
#define O_WRONLY _O_WRONLY
#define O_RDWR _O_RDWR
#define O_EXCL _O_EXCL
#define O_CREAT _O_CREAT
#define O_BINARY _O_BINARY
#define S_IFDIR _S_IFDIR
#define S_IFREG _S_IFREG
#else
#define tell(fd) lseek(fd, 0, SEEK_CUR)
#endif // VC++
#if defined(__BORLANDC__) || defined(_MSC_VER)
#define W_OK 2
#define R_OK 4
@@ -159,23 +129,23 @@
// ----------------------------------------------------------------------------
bool wxFile::Exists(const wxChar *name)
{
struct stat st;
wxStructStat st;
#if wxUSE_UNICODE && wxMBFILES
wxCharBuffer fname = wxConvFile.cWC2MB(name);
#ifdef __WXMAC__
return !access(wxUnix2MacFilename( name ) , 0) && !stat(wxUnix2MacFilename( name ), &st) && (st.st_mode & S_IFREG);
#else
return !access(fname, 0) &&
!stat(wxMBSTRINGCAST fname, &st) &&
return !wxAccess(fname, 0) &&
!wxStat(wxMBSTRINGCAST fname, &st) &&
(st.st_mode & S_IFREG);
#endif
#else
#ifdef __WXMAC__
return !access(wxUnix2MacFilename( name ) , 0) && !stat(wxUnix2MacFilename( name ), &st) && (st.st_mode & S_IFREG);
#else
return !access(name, 0) &&
!stat(name, &st) &&
return !wxAccess(name, 0) &&
!wxStat(name, &st) &&
(st.st_mode & S_IFREG);
#endif
#endif
@@ -198,7 +168,7 @@ bool wxFile::Access(const wxChar *name, OpenMode mode)
wxFAIL_MSG(wxT("bad wxFile::Access mode parameter."));
}
return access(wxFNCONV(name), how) == 0;
return wxAccess(wxFNCONV(name), how) == 0;
}
// ----------------------------------------------------------------------------
@@ -222,10 +192,10 @@ bool wxFile::Create(const wxChar *szFileName, bool bOverwrite, int accessMode)
#ifdef __WXMAC__
int fd = open(wxUnix2MacFilename( szFileName ), O_CREAT | (bOverwrite ? O_TRUNC : O_EXCL), access);
#else
int fd = open(wxFNCONV(szFileName),
O_BINARY | O_WRONLY | O_CREAT |
(bOverwrite ? O_TRUNC : O_EXCL)
ACCESS(accessMode));
int fd = wxOpen(wxFNCONV(szFileName),
O_BINARY | O_WRONLY | O_CREAT |
(bOverwrite ? O_TRUNC : O_EXCL)
ACCESS(accessMode));
#endif
if ( fd == -1 ) {
wxLogSysError(_("can't create file '%s'"), szFileName);
@@ -263,7 +233,7 @@ bool wxFile::Open(const wxChar *szFileName, OpenMode mode, int accessMode)
#ifdef __WXMAC__
int fd = open(wxUnix2MacFilename( szFileName ), flags, access);
#else
int fd = open(wxFNCONV(szFileName), flags ACCESS(accessMode));
int fd = wxOpen(wxFNCONV(szFileName), flags ACCESS(accessMode));
#endif
if ( fd == -1 ) {
wxLogSysError(_("can't open file '%s'"), szFileName);
@@ -337,7 +307,7 @@ bool wxFile::Flush()
{
if ( IsOpened() ) {
#if defined(__VISUALC__) || wxHAVE_FSYNC
if ( fsync(m_fd) == -1 )
if ( wxFsync(m_fd) == -1 )
{
wxLogSysError(_("can't flush file descriptor %d"), m_fd);
return FALSE;
@@ -522,7 +492,7 @@ bool wxTempFile::Open(const wxString& strName)
mode_t umaskOld = 0; // just to suppress compiler warning
bool changedUmask;
struct stat st;
wxStructStat st;
if ( stat(strName.fn_str(), &st) == 0 )
{
// this assumes that only lower bits of st_mode contain the access
@@ -572,12 +542,12 @@ bool wxTempFile::Commit()
m_file.Close();
#ifndef __WXMAC__
if ( wxFile::Exists(m_strName) && remove(m_strName.fn_str()) != 0 ) {
if ( wxFile::Exists(m_strName) && wxRemove(m_strName.fn_str()) != 0 ) {
wxLogSysError(_("can't remove file '%s'"), m_strName.c_str());
return FALSE;
}
if ( rename(m_strTemp.fn_str(), m_strName.fn_str()) != 0 ) {
if ( wxRename(m_strTemp.fn_str(), m_strName.fn_str()) != 0 ) {
wxLogSysError(_("can't commit changes to file '%s'"), m_strName.c_str());
return FALSE;
}
@@ -600,7 +570,7 @@ void wxTempFile::Discard()
{
m_file.Close();
#ifndef __WXMAC__
if ( remove(m_strTemp.fn_str()) != 0 )
if ( wxRemove(m_strTemp.fn_str()) != 0 )
wxLogSysError(_("can't remove temporary file '%s'"), m_strTemp.c_str());
#else
if ( remove( wxUnix2MacFilename(m_strTemp.fn_str())) != 0 )

View File

@@ -881,7 +881,7 @@ bool wxFileConfig::DeleteAll()
{
CleanUp();
if ( remove(m_strLocalFile.fn_str()) == -1 )
if ( wxRemove(m_strLocalFile.fn_str()) == -1 )
wxLogSysError(_("can't delete user configuration file '%s'"), m_strLocalFile.c_str());
m_strLocalFile = m_strGlobalFile = wxT("");

View File

@@ -277,14 +277,10 @@ wxFileExists (const wxString& filename)
return FALSE ;
#else
#ifdef __SALFORDC__
struct _stat stbuf;
#else
struct stat stbuf;
#endif
if ((filename != wxT("")) && stat (wxFNSTRINGCAST filename.fn_str(), &stbuf) == 0)
wxStructStat stbuf;
if ((filename != wxT("")) && wxStat (wxFNSTRINGCAST filename.fn_str(), &stbuf) == 0)
return TRUE;
return FALSE;
#endif
}
@@ -1050,7 +1046,7 @@ wxRenameFile (const wxString& file1, const wxString& file2)
return TRUE;
#else
// Normal system call
if (0 == rename (wxFNSTRINGCAST file1.fn_str(), wxFNSTRINGCAST file2.fn_str()))
if (0 == wxRename (wxFNSTRINGCAST file1.fn_str(), wxFNSTRINGCAST file2.fn_str()))
return TRUE;
#endif
// Try to copy
@@ -1065,7 +1061,7 @@ wxRenameFile (const wxString& file1, const wxString& file2)
bool wxRemoveFile(const wxString& file)
{
#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__)
int flag = remove(wxFNSTRINGCAST file.fn_str());
int flag = wxRemove(wxFNSTRINGCAST file.fn_str());
#elif defined( __WXMAC__ )
int flag = unlink(wxUnix2MacFilename( file ));
#else
@@ -1086,7 +1082,7 @@ bool wxMkdir(const wxString& dir, int perm)
#if (!(defined(__WXMSW__) || defined(__OS2__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__)
if ( mkdir(wxFNCONV(dirname), perm) != 0 )
#else // !MSW and !OS/2 VAC++
if ( mkdir(wxFNSTRINGCAST wxFNCONV(dirname)) != 0 )
if ( wxMkdir(wxFNSTRINGCAST wxFNCONV(dirname)) != 0 )
#endif // !MSW/MSW
{
wxLogSysError(_("Directory '%s' couldn't be created"), dirname);
@@ -1109,7 +1105,7 @@ bool wxRmdir(const wxString& dir, int WXUNUSED(flags))
#ifdef __SALFORDC__
return FALSE; // What to do?
#else
return (rmdir(wxFNSTRINGCAST dir.fn_str()) == 0);
return (wxRmdir(wxFNSTRINGCAST dir.fn_str()) == 0);
#endif
#endif
@@ -1170,13 +1166,9 @@ bool wxPathExists(const wxChar *pszPathName)
if ( wxEndsWithPathSeparator(pszPathName) && pszPathName[1] != wxT('\0') )
strPath.Last() = wxT('\0');
#ifdef __SALFORDC__
struct _stat st;
#else
struct stat st;
#endif
wxStructStat st;
return stat(wxFNSTRINGCAST strPath.fn_str(), &st) == 0 && (st.st_mode & S_IFDIR);
return wxStat(wxFNSTRINGCAST strPath.fn_str(), &st) == 0 && (st.st_mode & S_IFDIR);
}
// Get a temporary filename, opening and closing the file.
@@ -1869,9 +1861,9 @@ void WXDLLEXPORT wxSplitPath(const wxChar *pszFileName,
time_t WXDLLEXPORT wxFileModificationTime(const wxString& filename)
{
struct stat buf;
wxStructStat buf;
stat(filename.fn_str(), &buf);
wxStat(filename.fn_str(), &buf);
return buf.st_mtime;
}

View File

@@ -655,7 +655,7 @@ void wxOnAssert(const wxChar *szFile, int nLine, const wxChar *szMsg)
//case wxNO: nothing to do
}
#else // !GUI, but MSW
switch ( ::MessageBox(NULL, szBuf, "Debug",
switch ( ::MessageBox(NULL, szBuf, _T("Debug"),
MB_YESNOCANCEL | MB_ICONSTOP ) ) {
case IDYES:
Trap();

View File

@@ -230,7 +230,7 @@ bool wxResourceTable::ParseResourceFile(const wxString& filename)
#ifdef __WXMAC__
FILE *fd = fopen(wxUnix2MacFilename(filename.fn_str()), "r");
#else
FILE *fd = fopen(filename.fn_str(), "r");
FILE *fd = wxFopen(filename.fn_str(), _T("r"));
#endif
if (!fd)
return FALSE;
@@ -2779,7 +2779,7 @@ bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table)
if (!table)
table = wxDefaultResourceTable;
FILE *fd = fopen(f.fn_str(), "r");
FILE *fd = wxFopen(f.fn_str(), _T("r"));
if (!fd)
{
return FALSE;

View File

@@ -108,7 +108,7 @@ bool wxIPV4address::Hostname(const wxString& name)
return FALSE;
}
return (GAddress_INET_SetHostName(m_address, name.fn_str()) == GSOCK_NOERROR);
return (GAddress_INET_SetHostName(m_address, name.mb_str()) == GSOCK_NOERROR);
}
bool wxIPV4address::Hostname(unsigned long addr)
@@ -118,7 +118,7 @@ bool wxIPV4address::Hostname(unsigned long addr)
bool wxIPV4address::Service(const wxString& name)
{
return (GAddress_INET_SetPortName(m_address, name.fn_str(), "tcp") == GSOCK_NOERROR);
return (GAddress_INET_SetPortName(m_address, name.mb_str(), "tcp") == GSOCK_NOERROR);
}
bool wxIPV4address::Service(unsigned short port)

View File

@@ -305,7 +305,7 @@ bool wxTCPConnection::Execute(const wxChar *data, int size, wxIPCFormat format)
m_codeco->Write8(format);
if (size < 0)
size = strlen(data) + 1; // includes final NUL
size = wxStrlen(data) + 1; // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);
@@ -353,7 +353,7 @@ bool wxTCPConnection::Poke (const wxString& item, wxChar *data, int size, wxIPCF
m_codeco->Write8(format);
if (size < 0)
size = strlen(data) + 1; // includes final NUL
size = wxStrlen(data) + 1; // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);
@@ -409,7 +409,7 @@ bool wxTCPConnection::Advise (const wxString& item,
m_codeco->Write8(format);
if (size < 0)
size = strlen(data) + 1; // includes final NUL
size = wxStrlen(data) + 1; // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);

View File

@@ -284,17 +284,19 @@ wxTextInputStream& wxTextInputStream::operator>>(wxString& word)
return *this;
}
wxTextInputStream& wxTextInputStream::operator>>(wxChar& c)
wxTextInputStream& wxTextInputStream::operator>>(char& c)
{
if (!m_input)
{
c = (wxChar) 0;
c = 0;
return *this;
}
c = m_input.GetC();
if (EatEOL(c)) c=wxT('\n');
if (EatEOL(c))
c = '\n';
return *this;
}
@@ -444,9 +446,14 @@ wxTextOutputStream& wxTextOutputStream::operator<<(const wxString& string)
return *this;
}
wxTextOutputStream& wxTextOutputStream::operator<<(wxChar c)
wxTextOutputStream& wxTextOutputStream::operator<<(char c)
{
WriteString( wxString(c) );
// these strange manipulations are needed in Unicode mode
char buf[2];
buf[0] = c;
buf[1] = 0;
WriteString( wxString(buf) );
return *this;
}

View File

@@ -513,8 +513,8 @@ wxAcceleratorEntry *wxGetAccelFromString(const wxString& label)
else
#endif // 0
{
wxLogDebug(wxT("Unrecognized accel key '%s', accel "
"string ignored."), current.c_str());
wxLogDebug(wxT("Unrecognized accel key '%s', accel string ignored."),
current.c_str());
}
}
}

View File

@@ -992,7 +992,7 @@ bool wxExprDatabase::Read(const wxString& filename)
{
noErrors = 0;
FILE *f = fopen(filename.fn_str(), "r");
FILE *f = wxFopen(filename.fn_str(), _T("r"));
if (f)
{
thewxExprDatabase = this;
@@ -1024,7 +1024,7 @@ bool wxExprDatabase::ReadFromString(const wxString& buffer)
bool wxExprDatabase::Write(const wxString& fileName)
{
FILE *stream = fopen( fileName.fn_str(), "w+" );
FILE *stream = wxFopen( fileName.fn_str(), _T("w+"));
if (!stream)
return FALSE;