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:
parent
8a3f03ffce
commit
d5e71e81ec
@ -303,86 +303,81 @@ enum wxFileKind
|
||||
#define wxEof wxPOSIX_IDENT(eof)
|
||||
|
||||
// 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_MSLU
|
||||
// implement the missing file functions in Win9x ourselves
|
||||
#if defined( __VISUALC__ ) \
|
||||
|| ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
|
||||
|| ( defined(__MWERKS__) && defined(__WXMSW__) ) \
|
||||
|| ( defined(__BORLANDC__) && (__BORLANDC__ > 0x460) ) \
|
||||
|| defined(__DMC__)
|
||||
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
|
||||
int flags, int mode);
|
||||
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);
|
||||
|
||||
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
|
||||
int flags, int mode);
|
||||
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
|
||||
WXDLLIMPEXP_BASE int
|
||||
wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
|
||||
|
||||
#define wxCRT_Open wxMSLU__wopen
|
||||
|
||||
#define wxCRT_Access wxMSLU__waccess
|
||||
#define wxCRT_MkDir wxMSLU__wmkdir
|
||||
#define wxCRT_RmDir wxMSLU__wrmdir
|
||||
#ifdef wxHAS_HUGE_FILES
|
||||
#define wxCRT_Stat wxMSLU__wstati64
|
||||
#else
|
||||
#define wxCRT_Stat wxMSLU__wstat
|
||||
#endif
|
||||
#define wxCRT_Stat wxMSLU__wstat
|
||||
#else // !wxUSE_UNICODE_MSLU
|
||||
#ifdef __BORLANDC__
|
||||
#if __BORLANDC__ >= 0x550 && __BORLANDC__ <= 0x551
|
||||
WXDLLIMPEXP_BASE int wxCRT_Open(const wxChar *pathname,
|
||||
int flags, mode_t mode);
|
||||
#else
|
||||
#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
|
||||
#define wxCRT_Open wxCRT_OpenW
|
||||
#define wxCRT_Access wxCRT_AccessW
|
||||
#define wxCRT_MkDir wxCRT_MkDirW
|
||||
#define wxCRT_RmDir wxCRT_RmDirW
|
||||
#define wxCRT_Stat wxCRT_StatW
|
||||
#endif // wxUSE_UNICODE_MSLU/!wxUSE_UNICODE_MSLU
|
||||
#else // !wxUSE_UNICODE
|
||||
#define wxCRT_Open wxPOSIX_IDENT(open)
|
||||
#define wxCRT_Access wxPOSIX_IDENT(access)
|
||||
#define wxCRT_MkDir wxPOSIX_IDENT(mkdir)
|
||||
#define wxCRT_RmDir wxPOSIX_IDENT(rmdir)
|
||||
#ifdef wxHAS_HUGE_FILES
|
||||
#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
|
||||
#define wxCRT_Open wxCRT_OpenA
|
||||
#define wxCRT_Access wxCRT_AccessA
|
||||
#define wxCRT_MkDir wxCRT_MkDirA
|
||||
#define wxCRT_RmDir wxCRT_RmDirA
|
||||
#define wxCRT_Stat wxCRT_StatA
|
||||
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
||||
|
||||
|
||||
// constants (unless already defined by the user code)
|
||||
#ifdef wxHAS_UNDERSCORES_IN_POSIX_IDENTS
|
||||
#ifndef O_RDONLY
|
||||
|
@ -131,7 +131,7 @@ const int wxInvalidOffset = -1;
|
||||
// regardless of the mode parameter. This hack works around the problem by
|
||||
// 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;
|
||||
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include "wx/utils.h"
|
||||
#endif
|
||||
|
||||
#define wxHAS_HUGE_FILES
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// Check for use of MSLU
|
||||
//------------------------------------------------------------------------
|
||||
@ -182,68 +184,46 @@ WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name,
|
||||
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)
|
||||
{
|
||||
if ( wxUsingUnicowsDll() )
|
||||
#ifdef __BORLANDC__
|
||||
return open(wxConvFile.cWX2MB(name), flags, mode);
|
||||
#else
|
||||
return _open(wxConvFile.cWX2MB(name), flags, mode);
|
||||
#endif
|
||||
return wxCRT_OpenA(wxConvFile.cWX2MB(name), flags, mode);
|
||||
else
|
||||
return _wopen(name, flags, mode);
|
||||
return wxCRT_OpenW(name, flags, mode);
|
||||
}
|
||||
|
||||
WXDLLIMPEXP_BASE int wxMSLU__waccess(const wchar_t *name, int mode)
|
||||
{
|
||||
if ( wxUsingUnicowsDll() )
|
||||
return _access(wxConvFile.cWX2MB(name), mode);
|
||||
return wxCRT_AccessA(wxConvFile.cWX2MB(name), mode);
|
||||
else
|
||||
return _waccess(name, mode);
|
||||
return wxCRT_AccessW(name, mode);
|
||||
}
|
||||
|
||||
WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wchar_t *name)
|
||||
{
|
||||
if ( wxUsingUnicowsDll() )
|
||||
return _mkdir(wxConvFile.cWX2MB(name));
|
||||
return wxCRT_MkDirA(wxConvFile.cWX2MB(name));
|
||||
else
|
||||
return _wmkdir(name);
|
||||
return wxCRT_MkDirW(name);
|
||||
}
|
||||
|
||||
WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wchar_t *name)
|
||||
{
|
||||
if ( wxUsingUnicowsDll() )
|
||||
return _rmdir(wxConvFile.cWX2MB(name));
|
||||
return wxCRT_RmDirA(wxConvFile.cWX2MB(name));
|
||||
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)
|
||||
{
|
||||
if ( wxUsingUnicowsDll() )
|
||||
return _stat((const char*)wxConvFile.cWX2MB(name), buffer);
|
||||
return wxCRT_StatA((const char*)wxConvFile.cWX2MB(name), buffer);
|
||||
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_UNICODE_MSLU
|
||||
|
Loading…
Reference in New Issue
Block a user