more order in wxCRT_filefunctions: define A and W versions, just as for everything else and simply map suffix-less versions to the appropriate ones
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -303,86 +303,81 @@ enum wxFileKind
|
|||||||
#define wxEof wxPOSIX_IDENT(eof)
|
#define wxEof wxPOSIX_IDENT(eof)
|
||||||
|
|
||||||
// then the functions taking strings
|
// then the functions taking strings
|
||||||
|
|
||||||
|
// first the ANSI versions
|
||||||
|
#define wxCRT_OpenA wxPOSIX_IDENT(open)
|
||||||
|
#define wxCRT_AccessA wxPOSIX_IDENT(access)
|
||||||
|
#define wxCRT_MkDirA wxPOSIX_IDENT(mkdir)
|
||||||
|
#define wxCRT_RmDirA wxPOSIX_IDENT(rmdir)
|
||||||
|
#ifdef wxHAS_HUGE_FILES
|
||||||
|
#define wxCRT_StatA wxPOSIX_IDENT(stati64)
|
||||||
|
#else
|
||||||
|
// Unfortunately Watcom is not consistent
|
||||||
|
#if defined(__OS2__) && defined(__WATCOMC__)
|
||||||
|
#define wxCRT_StatA _stat
|
||||||
|
#else
|
||||||
|
#define wxCRT_StatA wxPOSIX_IDENT(stat)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// then wide char ones
|
||||||
|
#if wxUSE_UNICODE
|
||||||
|
// special workaround for buggy wopen() in bcc 5.5
|
||||||
|
#if defined(__BORLANDC__) && \
|
||||||
|
(__BORLANDC__ >= 0x550 && __BORLANDC__ <= 0x551)
|
||||||
|
WXDLLIMPEXP_BASE int wxCRT_OpenW(const wxChar *pathname,
|
||||||
|
int flags, mode_t mode);
|
||||||
|
#else
|
||||||
|
#define wxCRT_OpenW _wopen
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define wxCRT_AccessW _waccess
|
||||||
|
#define wxCRT_MkDirW _wmkdir
|
||||||
|
#define wxCRT_RmDirW _wrmdir
|
||||||
|
#ifdef wxHAS_HUGE_FILES
|
||||||
|
#define wxCRT_StatW _wstati64
|
||||||
|
#else
|
||||||
|
#define wxCRT_StatW _wstat
|
||||||
|
#endif
|
||||||
|
#endif // wxUSE_UNICODE
|
||||||
|
|
||||||
|
|
||||||
|
// finally the default char-type versions
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
#if wxUSE_UNICODE_MSLU
|
#if wxUSE_UNICODE_MSLU
|
||||||
// implement the missing file functions in Win9x ourselves
|
// implement the missing file functions in Win9x ourselves
|
||||||
#if defined( __VISUALC__ ) \
|
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
|
||||||
|| ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
|
int flags, int mode);
|
||||||
|| ( defined(__MWERKS__) && defined(__WXMSW__) ) \
|
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wxChar *name,
|
||||||
|| ( defined(__BORLANDC__) && (__BORLANDC__ > 0x460) ) \
|
int mode);
|
||||||
|| defined(__DMC__)
|
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wxChar *name);
|
||||||
|
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
|
WXDLLIMPEXP_BASE int
|
||||||
int flags, int mode);
|
wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wxChar *name,
|
|
||||||
int mode);
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wxChar *name);
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
|
|
||||||
|
|
||||||
#ifdef wxHAS_HUGE_FILES
|
|
||||||
WXDLLIMPEXP_BASE int
|
|
||||||
wxMSLU__wstati64(const wxChar *name, wxStructStat *buffer);
|
|
||||||
#else // !wxHAS_HUGE_FILES
|
|
||||||
WXDLLIMPEXP_BASE int
|
|
||||||
wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
|
|
||||||
#endif // wxHAS_HUGE_FILES/!wxHAS_HUGE_FILES
|
|
||||||
#endif // Windows compilers with MSLU support
|
|
||||||
|
|
||||||
#define wxCRT_Open wxMSLU__wopen
|
#define wxCRT_Open wxMSLU__wopen
|
||||||
|
|
||||||
#define wxCRT_Access wxMSLU__waccess
|
#define wxCRT_Access wxMSLU__waccess
|
||||||
#define wxCRT_MkDir wxMSLU__wmkdir
|
#define wxCRT_MkDir wxMSLU__wmkdir
|
||||||
#define wxCRT_RmDir wxMSLU__wrmdir
|
#define wxCRT_RmDir wxMSLU__wrmdir
|
||||||
#ifdef wxHAS_HUGE_FILES
|
#define wxCRT_Stat wxMSLU__wstat
|
||||||
#define wxCRT_Stat wxMSLU__wstati64
|
|
||||||
#else
|
|
||||||
#define wxCRT_Stat wxMSLU__wstat
|
|
||||||
#endif
|
|
||||||
#else // !wxUSE_UNICODE_MSLU
|
#else // !wxUSE_UNICODE_MSLU
|
||||||
#ifdef __BORLANDC__
|
#define wxCRT_Open wxCRT_OpenW
|
||||||
#if __BORLANDC__ >= 0x550 && __BORLANDC__ <= 0x551
|
#define wxCRT_Access wxCRT_AccessW
|
||||||
WXDLLIMPEXP_BASE int wxCRT_Open(const wxChar *pathname,
|
#define wxCRT_MkDir wxCRT_MkDirW
|
||||||
int flags, mode_t mode);
|
#define wxCRT_RmDir wxCRT_RmDirW
|
||||||
#else
|
#define wxCRT_Stat wxCRT_StatW
|
||||||
#define wxCRT_Open _wopen
|
|
||||||
#endif
|
|
||||||
#define wxCRT_Access _waccess
|
|
||||||
#define wxCRT_MkDir _wmkdir
|
|
||||||
#define wxCRT_RmDir _wrmdir
|
|
||||||
#ifdef wxHAS_HUGE_FILES
|
|
||||||
#define wxCRT_Stat _wstati64
|
|
||||||
#else
|
|
||||||
#define wxCRT_Stat _wstat
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define wxCRT_Open _wopen
|
|
||||||
#define wxCRT_Access _waccess
|
|
||||||
#define wxCRT_MkDir _wmkdir
|
|
||||||
#define wxCRT_RmDir _wrmdir
|
|
||||||
#ifdef wxHAS_HUGE_FILES
|
|
||||||
#define wxCRT_Stat _wstati64
|
|
||||||
#else
|
|
||||||
#define wxCRT_Stat _wstat
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif // wxUSE_UNICODE_MSLU/!wxUSE_UNICODE_MSLU
|
#endif // wxUSE_UNICODE_MSLU/!wxUSE_UNICODE_MSLU
|
||||||
#else // !wxUSE_UNICODE
|
#else // !wxUSE_UNICODE
|
||||||
#define wxCRT_Open wxPOSIX_IDENT(open)
|
#define wxCRT_Open wxCRT_OpenA
|
||||||
#define wxCRT_Access wxPOSIX_IDENT(access)
|
#define wxCRT_Access wxCRT_AccessA
|
||||||
#define wxCRT_MkDir wxPOSIX_IDENT(mkdir)
|
#define wxCRT_MkDir wxCRT_MkDirA
|
||||||
#define wxCRT_RmDir wxPOSIX_IDENT(rmdir)
|
#define wxCRT_RmDir wxCRT_RmDirA
|
||||||
#ifdef wxHAS_HUGE_FILES
|
#define wxCRT_Stat wxCRT_StatA
|
||||||
#define wxCRT_Stat wxPOSIX_IDENT(stati64)
|
|
||||||
#else
|
|
||||||
// Unfortunately Watcom is not consistent, so:-
|
|
||||||
#if defined(__OS2__) && defined(__WATCOMC__)
|
|
||||||
#define wxCRT_Stat _stat
|
|
||||||
#else
|
|
||||||
#define wxCRT_Stat wxPOSIX_IDENT(stat)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
||||||
|
|
||||||
|
|
||||||
// constants (unless already defined by the user code)
|
// constants (unless already defined by the user code)
|
||||||
#ifdef wxHAS_UNDERSCORES_IN_POSIX_IDENTS
|
#ifdef wxHAS_UNDERSCORES_IN_POSIX_IDENTS
|
||||||
#ifndef O_RDONLY
|
#ifndef O_RDONLY
|
||||||
|
@@ -131,7 +131,7 @@ const int wxInvalidOffset = -1;
|
|||||||
// regardless of the mode parameter. This hack works around the problem by
|
// regardless of the mode parameter. This hack works around the problem by
|
||||||
// setting the mode with _wchmod.
|
// setting the mode with _wchmod.
|
||||||
//
|
//
|
||||||
int wxCRT_Open(const wchar_t *pathname, int flags, mode_t mode)
|
int wxCRT_OpenW(const wchar_t *pathname, int flags, mode_t mode)
|
||||||
{
|
{
|
||||||
int moreflags = 0;
|
int moreflags = 0;
|
||||||
|
|
||||||
|
@@ -21,6 +21,8 @@
|
|||||||
#include "wx/utils.h"
|
#include "wx/utils.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define wxHAS_HUGE_FILES
|
||||||
|
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
// Check for use of MSLU
|
// Check for use of MSLU
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
@@ -182,68 +184,46 @@ WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name,
|
|||||||
return _wfreopen(name, mode, stream);
|
return _wfreopen(name, mode, stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined( __VISUALC__ ) \
|
|
||||||
|| ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
|
|
||||||
|| ( defined(__MWERKS__) && defined(__WXMSW__) ) \
|
|
||||||
|| ( defined(__BORLANDC__) && (__BORLANDC__ > 0x460) )
|
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wchar_t *name, int flags, int mode)
|
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wchar_t *name, int flags, int mode)
|
||||||
{
|
{
|
||||||
if ( wxUsingUnicowsDll() )
|
if ( wxUsingUnicowsDll() )
|
||||||
#ifdef __BORLANDC__
|
return wxCRT_OpenA(wxConvFile.cWX2MB(name), flags, mode);
|
||||||
return open(wxConvFile.cWX2MB(name), flags, mode);
|
|
||||||
#else
|
|
||||||
return _open(wxConvFile.cWX2MB(name), flags, mode);
|
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
return _wopen(name, flags, mode);
|
return wxCRT_OpenW(name, flags, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wchar_t *name, int mode)
|
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wchar_t *name, int mode)
|
||||||
{
|
{
|
||||||
if ( wxUsingUnicowsDll() )
|
if ( wxUsingUnicowsDll() )
|
||||||
return _access(wxConvFile.cWX2MB(name), mode);
|
return wxCRT_AccessA(wxConvFile.cWX2MB(name), mode);
|
||||||
else
|
else
|
||||||
return _waccess(name, mode);
|
return wxCRT_AccessW(name, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wchar_t *name)
|
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wchar_t *name)
|
||||||
{
|
{
|
||||||
if ( wxUsingUnicowsDll() )
|
if ( wxUsingUnicowsDll() )
|
||||||
return _mkdir(wxConvFile.cWX2MB(name));
|
return wxCRT_MkDirA(wxConvFile.cWX2MB(name));
|
||||||
else
|
else
|
||||||
return _wmkdir(name);
|
return wxCRT_MkDirW(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wchar_t *name)
|
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wchar_t *name)
|
||||||
{
|
{
|
||||||
if ( wxUsingUnicowsDll() )
|
if ( wxUsingUnicowsDll() )
|
||||||
return _rmdir(wxConvFile.cWX2MB(name));
|
return wxCRT_RmDirA(wxConvFile.cWX2MB(name));
|
||||||
else
|
else
|
||||||
return _wrmdir(name);
|
return wxCRT_RmDirW(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef wxHAS_HUGE_FILES
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wstati64(const wchar_t *name, wxStructStat *buffer)
|
|
||||||
{
|
|
||||||
if ( wxUsingUnicowsDll() )
|
|
||||||
return _stati64((const char*)wxConvFile.cWX2MB(name), buffer);
|
|
||||||
else
|
|
||||||
return _wstati64(name, buffer);
|
|
||||||
}
|
|
||||||
#else // !wxHAS_HUGE_FILES
|
|
||||||
WXDLLIMPEXP_BASE int wxMSLU__wstat(const wchar_t *name, wxStructStat *buffer)
|
WXDLLIMPEXP_BASE int wxMSLU__wstat(const wchar_t *name, wxStructStat *buffer)
|
||||||
{
|
{
|
||||||
if ( wxUsingUnicowsDll() )
|
if ( wxUsingUnicowsDll() )
|
||||||
return _stat((const char*)wxConvFile.cWX2MB(name), buffer);
|
return wxCRT_StatA((const char*)wxConvFile.cWX2MB(name), buffer);
|
||||||
else
|
else
|
||||||
return _wstat(name, buffer);
|
return wxCRT_StatW(name, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // wxHAS_HUGE_FILES/!wxHAS_HUGE_FILES
|
|
||||||
|
|
||||||
#endif // compilers having wopen() &c
|
|
||||||
|
|
||||||
#endif // wxUSE_BASE
|
#endif // wxUSE_BASE
|
||||||
|
|
||||||
#endif // wxUSE_UNICODE_MSLU
|
#endif // wxUSE_UNICODE_MSLU
|
||||||
|
Reference in New Issue
Block a user