X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff69a290d6752557193611642ee2c1f810fc6415..9fe4c99cc5e3cb63ae2fecfdb9e892781732cad6:/include/wx/filefn.h diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 3e66d0a536..e590ff3fe8 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -80,7 +80,11 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; #define wxTell _tell #if wxUSE_UNICODE - #define wxOpen _wopen + #if wxUSE_UNICODE_MSLU + WXDLLEXPORT int wxOpen(const wxChar *name, int flags, int mode); + #else + #define wxOpen _wopen + #endif #define wxAccess _waccess #define wxMkDir _wmkdir @@ -169,23 +173,11 @@ WXDLLEXPORT void wxDos2UnixFilename(wxChar *s); WXDLLEXPORT void wxUnix2DosFilename(wxChar *s); #define Unix2DosFilename wxUnix2DosFilename -#ifdef __WXMAC__ -WXDLLEXPORT wxString wxMacFSSpec2MacFilename( const FSSpec *spec ) ; -WXDLLEXPORT void wxMacFilename2FSSpec( const char *path , FSSpec *spec ) ; -# ifndef __DARWIN__ -// Mac file names are POSIX (Unix style) under Darwin, so these are not needed -WXDLLEXPORT wxString wxMacFSSpec2UnixFilename( const FSSpec *spec ) ; -WXDLLEXPORT void wxUnixFilename2FSSpec( const char *path , FSSpec *spec ) ; -WXDLLEXPORT wxString wxMac2UnixFilename( const char *s) ; -WXDLLEXPORT wxString wxUnix2MacFilename( const char *s); -# endif -#endif - // Strip the extension, in situ WXDLLEXPORT void wxStripExtension(wxChar *buffer); WXDLLEXPORT void wxStripExtension(wxString& buffer); -// Get a temporary filename, opening and closing the file. +// Get a temporary filename WXDLLEXPORT wxChar* wxGetTempFileName(const wxString& prefix, wxChar *buf = (wxChar *) NULL); WXDLLEXPORT bool wxGetTempFileName(const wxString& prefix, wxString& buf); @@ -197,8 +189,8 @@ WXDLLEXPORT bool wxExpandPath(wxString& dest, const wxChar *path); // and make (if under the home tree) relative to home // [caller must copy-- volatile] WXDLLEXPORT wxChar* wxContractPath(const wxString& filename, - const wxString& envname = wxEmptyString, - const wxString& user = wxEmptyString); + const wxString& envname = wxEmptyString, + const wxString& user = wxEmptyString); // Destructive removal of /./ and /../ stuff WXDLLEXPORT wxChar* wxRealPath(wxChar *path); @@ -278,12 +270,15 @@ WXDLLEXPORT bool wxRmdir(const wxString& dir, int flags = 0); #define wxPATH_SEP_MAC wxT(";") // platform independent versions -#if defined(__UNIX__) +#if defined(__UNIX__) && !defined(__CYGWIN__) #define wxFILE_SEP_PATH wxFILE_SEP_PATH_UNIX #define wxPATH_SEP wxPATH_SEP_UNIX #elif defined(__MAC__) #define wxFILE_SEP_PATH wxFILE_SEP_PATH_MAC #define wxPATH_SEP wxPATH_SEP_MAC +#elif defined(__CYGWIN__) // Cygwin + #define wxFILE_SEP_PATH wxFILE_SEP_PATH_DOS + #define wxPATH_SEP wxPATH_SEP_UNIX #else // Windows and OS/2 #define wxFILE_SEP_PATH wxFILE_SEP_PATH_DOS #define wxPATH_SEP wxPATH_SEP_DOS @@ -299,7 +294,14 @@ WXDLLEXPORT bool wxRmdir(const wxString& dir, int flags = 0); // is the char a path separator? inline bool wxIsPathSeparator(wxChar c) - { return c == wxFILE_SEP_PATH_DOS || c == wxFILE_SEP_PATH_UNIX; } +{ + // under DOS/Windows we should understand both Unix and DOS file separators +#if defined(__UNIX__) || defined(__MAC__) + return c == wxFILE_SEP_PATH; +#else + return c == wxFILE_SEP_PATH_DOS || c == wxFILE_SEP_PATH_UNIX; +#endif +} // does the string ends with path separator? WXDLLEXPORT bool wxEndsWithPathSeparator(const wxChar *pszFileName);