X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5ab9534bc6347d90da3238cf180c8acb47b4449a..7b0ccb8a603b4f97740acc65d9429bb58f7ba1bd:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 3c5764a6bb..0e9a6bdf14 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -75,6 +75,7 @@ #include "wx/intl.h" #include "wx/log.h" #include "wx/utils.h" + #include "wx/crt.h" #endif #include "wx/filename.h" @@ -138,7 +139,9 @@ #endif -wxULongLong wxInvalidSize = (unsigned)-1; +#if wxUSE_LONGLONG +extern const wxULongLong wxInvalidSize = (unsigned)-1; +#endif // wxUSE_LONGLONG // ---------------------------------------------------------------------------- @@ -162,7 +165,7 @@ public: { m_hFile = ::CreateFile ( - filename, // name + filename.fn_str(), // name mode == Read ? GENERIC_READ // access mask : GENERIC_WRITE, FILE_SHARE_READ | // sharing mode @@ -649,7 +652,7 @@ static int wxOpenWithDeleteOnClose(const wxString& filename) DWORD attributes = FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE; - HANDLE h = ::CreateFile(filename, access, 0, NULL, + HANDLE h = ::CreateFile(filename.fn_str(), access, 0, NULL, disposition, attributes, NULL); return wxOpenOSFHandle(h, wxO_BINARY); @@ -744,7 +747,8 @@ static wxString wxCreateTempImpl( } #elif defined(__WINDOWS__) && !defined(__WXMICROWIN__) - if ( !::GetTempFileName(dir, name, 0, wxStringBuffer(path, MAX_PATH + 1)) ) + if ( !::GetTempFileName(dir.fn_str(), name.fn_str(), 0, + wxStringBuffer(path, MAX_PATH + 1)) ) { wxLogLastError(_T("GetTempFileName")); @@ -767,7 +771,7 @@ static wxString wxCreateTempImpl( path += _T("XXXXXX"); // we need to copy the path to the buffer in which mkstemp() can modify it - wxCharBuffer buf( wxConvFile.cWX2MB( path ) ); + wxCharBuffer buf(path.fn_str()); // cast is safe because the string length doesn't change int fdTemp = mkstemp( (char*)(const char*) buf ); @@ -1098,14 +1102,7 @@ bool wxFileName::Mkdir( const wxString& dir, int perm, int flags ) size_t count = dirs.GetCount(); for ( size_t i = 0; i < count; i++ ) { - if ( i > 0 || -#if defined(__WXMAC__) && !defined(__DARWIN__) - // relative pathnames are exactely the other way round under mac... - !filename.IsAbsolute() -#else - filename.IsAbsolute() -#endif - ) + if ( i > 0 || filename.IsAbsolute() ) currPath += wxFILE_SEP_PATH; currPath += dirs[i]; @@ -1801,13 +1798,13 @@ wxString wxFileName::GetShortPath() const wxString path(GetFullPath()); #if defined(__WXMSW__) && defined(__WIN32__) && !defined(__WXMICROWIN__) && !defined(__WXWINCE__) - DWORD sz = ::GetShortPathName(path, NULL, 0); + DWORD sz = ::GetShortPathName(path.fn_str(), NULL, 0); if ( sz != 0 ) { wxString pathOut; if ( ::GetShortPathName ( - path, + path.fn_str(), wxStringBuffer(pathOut, sz), sz ) != 0 ) @@ -1828,7 +1825,7 @@ wxString wxFileName::GetLongPath() const #if defined(__WIN32__) && !defined(__WXWINCE__) && !defined(__WXMICROWIN__) -#if wxUSE_DYNAMIC_LOADER +#if wxUSE_DYNLIB_CLASS typedef DWORD (WINAPI *GET_LONG_PATH_NAME)(const wxChar *, wxChar *, DWORD); // this is MT-safe as in the worst case we're going to resolve the function @@ -1865,12 +1862,12 @@ wxString wxFileName::GetLongPath() const if ( s_pfnGetLongPathName ) { - DWORD dwSize = (*s_pfnGetLongPathName)(path, NULL, 0); + DWORD dwSize = (*s_pfnGetLongPathName)(path.fn_str(), NULL, 0); if ( dwSize > 0 ) { if ( (*s_pfnGetLongPathName) ( - path, + path.fn_str(), wxStringBuffer(pathOut, dwSize), dwSize ) != 0 ) @@ -1879,7 +1876,7 @@ wxString wxFileName::GetLongPath() const } } } -#endif // wxUSE_DYNAMIC_LOADER +#endif // wxUSE_DYNLIB_CLASS // The OS didn't support GetLongPathName, or some other error. // We need to call FindFirstFile on each component in turn. @@ -1920,7 +1917,7 @@ wxString wxFileName::GetLongPath() const continue; } - hFind = ::FindFirstFile(tmpPath, &findFileData); + hFind = ::FindFirstFile(tmpPath.fn_str(), &findFileData); if (hFind == INVALID_HANDLE_VALUE) { // Error: most likely reason is that path doesn't exist, so @@ -1950,8 +1947,6 @@ wxPathFormat wxFileName::GetFormat( wxPathFormat format ) { #if defined(__WXMSW__) || defined(__OS2__) || defined(__DOS__) format = wxPATH_DOS; -#elif defined(__WXMAC__) && !defined(__DARWIN__) - format = wxPATH_MAC; #elif defined(__VMS) format = wxPATH_VMS; #else @@ -2315,6 +2310,8 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess, // file size functions // ---------------------------------------------------------------------------- +#if wxUSE_LONGLONG + /* static */ wxULongLong wxFileName::GetSize(const wxString &filename) { @@ -2383,6 +2380,7 @@ wxString wxFileName::GetHumanReadableSize(const wxString &failmsg, int precision return GetHumanReadableSize(GetSize(), failmsg, precision); } +#endif // wxUSE_LONGLONG // ---------------------------------------------------------------------------- // Mac-specific functions