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

@@ -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 )