X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e20728015df8aa82bcfa7d9c220b73b82f8c194..bec76e18352b3b0a94b0b54c8d66159722651e8b:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 0e9a6bdf14..d781b78685 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -93,7 +93,7 @@ #endif #if defined(__WXMAC__) - #include "wx/mac/private.h" // includes mac headers + #include "wx/osx/private.h" // includes mac headers #endif // utime() is POSIX so should normally be available on all Unices @@ -1068,7 +1068,7 @@ wxString wxFileName::GetTempDir() // default #if defined(__DOS__) || defined(__OS2__) dir = _T("."); -#elif defined(__WXMAC__) +#elif defined(__WXMAC__) && !defined(__WXOSX_IPHONE__) dir = wxMacFindFolder(short(kOnSystemDisk), kTemporaryFolderType, kCreateFolder); #else dir = _T("/tmp"); @@ -1261,11 +1261,6 @@ bool wxFileName::Normalize(int flags, } } - if ( (flags & wxPATH_NORM_CASE) && !IsCaseSensitive(format) ) - { - dir.MakeLower(); - } - m_dirs.Add(dir); } @@ -1275,32 +1270,34 @@ bool wxFileName::Normalize(int flags, wxString filename; if (GetShortcutTarget(GetFullPath(format), filename)) { - // Repeat this since we may now have a new path - if ( (flags & wxPATH_NORM_CASE) && !IsCaseSensitive(format) ) - { - filename.MakeLower(); - } m_relative = false; Assign(filename); } } #endif - if ( (flags & wxPATH_NORM_CASE) && !IsCaseSensitive(format) ) +#if defined(__WIN32__) + if ( (flags & wxPATH_NORM_LONG) && (format == wxPATH_DOS) ) { - // VZ: expand env vars here too? + Assign(GetLongPath()); + } +#endif // Win32 + // Change case (this should be kept at the end of the function, to ensure + // that the path doesn't change any more after we normalize its case) + if ( (flags & wxPATH_NORM_CASE) && !IsCaseSensitive(format) ) + { m_volume.MakeLower(); m_name.MakeLower(); m_ext.MakeLower(); - } -#if defined(__WIN32__) - if ( (flags & wxPATH_NORM_LONG) && (format == wxPATH_DOS) ) - { - Assign(GetLongPath()); + // directory entries must be made lower case as well + count = m_dirs.GetCount(); + for ( size_t i = 0; i < count; i++ ) + { + m_dirs[i].MakeLower(); + } } -#endif // Win32 return true; } @@ -2239,7 +2236,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess, // not 9x bool ok; FILETIME ftAccess, ftCreate, ftWrite; - if ( IsDir() ) + if ( IsDir() ) { // implemented in msw/dir.cpp extern bool wxGetDirectoryTimes(const wxString& dirname, @@ -2386,7 +2383,7 @@ wxString wxFileName::GetHumanReadableSize(const wxString &failmsg, int precision // Mac-specific functions // ---------------------------------------------------------------------------- -#ifdef __WXMAC__ +#if defined( __WXMAC__ ) && !defined( __WXOSX_IPHONE__ ) const short kMacExtensionMaxLength = 16 ; class MacDefaultExtensionRecord