X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0316942268a5004c3d639fa1cd7df4ea42257dbd..bdb2ce96bbccfe70bf8d5570619b00195db7663b:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index aae38ea3ef..5c2f9b007c 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -90,6 +90,10 @@ #include "wx/msw/winundef.h" #endif +#if defined(__WXMAC__) + #include "wx/mac/private.h" // includes mac headers +#endif + // utime() is POSIX so should normally be available on all Unices #ifdef __UNIX_LIKE__ #include @@ -98,6 +102,10 @@ #include #endif +#ifdef __DJGPP__ +#include +#endif + #ifdef __MWERKS__ #include #include @@ -231,6 +239,15 @@ void wxFileName::Assign(const wxString& volume, const wxString& name, const wxString& ext, wxPathFormat format ) +{ + SetPath( path, format ); + + m_volume = volume; + m_ext = ext; + m_name = name; +} + +void wxFileName::SetPath( const wxString &path, wxPathFormat format ) { wxPathFormat my_format = GetFormat( format ); wxString my_path = path; @@ -297,10 +314,10 @@ void wxFileName::Assign(const wxString& volume, } } } - - m_volume = volume; - m_ext = ext; - m_name = name; + else + { + m_relative = TRUE; + } } void wxFileName::Assign(const wxString& fullpath, @@ -524,8 +541,11 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) #else // !Windows, !OS/2 if ( dir.empty() ) { +#if defined(__WXMAC__) && !defined(__DARWIN__) + dir = wxMacFindFolder( (short) kOnSystemDisk, pTemporaryFolder, kCreateFolder ) ; +#else // !Mac dir = wxGetenv(_T("TMP")); - if ( path.empty() ) + if ( dir.empty() ) { dir = wxGetenv(_T("TEMP")); } @@ -534,11 +554,12 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) { // default #ifdef __DOS__ - dir = _T("."); + dir = _T("."); #else - dir = _T("/tmp"); + dir = _T("/tmp"); #endif } +#endif // Mac/!Mac } path = dir; @@ -1252,19 +1273,17 @@ wxString wxFileName::GetLongPath() const if ( !s_triedToLoad ) { s_triedToLoad = TRUE; - wxDllType dllKernel = wxDllLoader::LoadLibrary(_T("kernel32")); - if ( dllKernel ) + wxDynamicLibrary dllKernel(_T("kernel32")); + if ( dllKernel.IsLoaded() ) { // may succeed or fail depending on the Windows version static GET_LONG_PATH_NAME s_pfnGetLongPathName = NULL; #ifdef _UNICODE - s_pfnGetLongPathName = (GET_LONG_PATH_NAME) wxDllLoader::GetSymbol(dllKernel, _T("GetLongPathNameW")); + s_pfnGetLongPathName = (GET_LONG_PATH_NAME) dllKernel.GetSymbol(_T("GetLongPathNameW")); #else - s_pfnGetLongPathName = (GET_LONG_PATH_NAME) wxDllLoader::GetSymbol(dllKernel, _T("GetLongPathNameA")); + s_pfnGetLongPathName = (GET_LONG_PATH_NAME) dllKernel.GetSymbol(_T("GetLongPathNameA")); #endif - wxDllLoader::UnloadLibrary(dllKernel); - if ( s_pfnGetLongPathName ) { DWORD dwSize = (*s_pfnGetLongPathName)(path, NULL, 0);