X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90a683695bfd22da80bb12d50d6f3666f38e903a..5150c01688b3a327a7b26013768d573ab8722ba8:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 4dc91cb910..5c2f9b007c 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -82,10 +82,7 @@ #include "wx/config.h" // for wxExpandEnvVars #include "wx/utils.h" #include "wx/file.h" - -#if wxUSE_DYNAMIC_LOADER || wxUSE_DYNLIB_CLASS -#include "wx/dynlib.h" -#endif +//#include "wx/dynlib.h" // see GetLongPath below, code disabled. // For GetShort/LongPathName #ifdef __WIN32__ @@ -93,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 @@ -101,6 +102,10 @@ #include #endif +#ifdef __DJGPP__ +#include +#endif + #ifdef __MWERKS__ #include #include @@ -234,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; @@ -300,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, @@ -527,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")); } @@ -537,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; @@ -1255,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);