X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f3d9587ab2b78d8c409f7e5e08ea6eb532057b5..3e822cd8d0bdf04cd2c7a3dddff61dcc211f7439:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 80ed64811c..2e4c842d66 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -60,10 +60,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "filename.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -608,17 +604,30 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) // use the directory specified by the prefix SplitPath(prefix, &dir, &name, NULL /* extension */); + if (dir.empty()) + { + dir = wxGetenv(_T("TMPDIR")); + if (dir.empty()) + { + dir = wxGetenv(_T("TMP")); + if (dir.empty()) + { + dir = wxGetenv(_T("TEMP")); + } + } + } + #if defined(__WXWINCE__) if (dir.empty()) { // FIXME. Create \temp dir? dir = wxT("\\"); } - path = dir + wxT("\\") + prefix; + path = dir + wxT("\\") + name; int i = 1; while (FileExists(path)) { - path = dir + wxT("\\") + prefix ; + path = dir + wxT("\\") + name ; path << i; i ++; } @@ -655,25 +664,14 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) #else // !Windows if ( dir.empty() ) { -#if defined(__WXMAC__) && !defined(__DARWIN__) - dir = wxMacFindFolder( (short) kOnSystemDisk, kTemporaryFolderType, kCreateFolder ) ; -#else // !Mac - dir = wxGetenv(_T("TMP")); - if ( dir.empty() ) - { - dir = wxGetenv(_T("TEMP")); - } - - if ( dir.empty() ) - { - // default - #if defined(__DOS__) || defined(__OS2__) - dir = _T("."); - #else - dir = _T("/tmp"); - #endif - } -#endif // Mac/!Mac + // default +#if defined(__DOS__) || defined(__OS2__) + dir = _T("."); +#elif defined(__WXMAC__) + dir = wxMacFindFolder(short(kOnSystemDisk), kTemporaryFolderType, kCreateFolder); +#else + dir = _T("/tmp"); +#endif } path = dir; @@ -754,9 +752,6 @@ wxFileName::CreateTempFileName(const wxString& prefix, wxFile *fileTemp) path = pathTry; #endif // HAVE_MKTEMP/!HAVE_MKTEMP - if ( !path.empty() ) - { - } #endif // HAVE_MKSTEMP/!HAVE_MKSTEMP #endif // Windows/!Windows @@ -1243,8 +1238,11 @@ wxString wxFileName::GetForbiddenChars(wxPathFormat format) } /* static */ -wxString wxFileName::GetVolumeSeparator(wxPathFormat format) +wxString wxFileName::GetVolumeSeparator(wxPathFormat WXUNUSED_IN_WINCE(format)) { +#ifdef __WXWINCE__ + return wxEmptyString; +#else wxString sepVol; if ( (GetFormat(format) == wxPATH_DOS) || @@ -1255,6 +1253,7 @@ wxString wxFileName::GetVolumeSeparator(wxPathFormat format) //else: leave empty return sepVol; +#endif } /* static */ @@ -1548,16 +1547,17 @@ wxString wxFileName::GetLongPath() const wxDynamicLibrary dllKernel(_T("kernel32")); -#ifdef _UNICODE - #define ADD_STR_SFX(name) L#name L"W" -#else - #define ADD_STR_SFX(name) #name "A" -#endif + const wxChar* GetLongPathName = _T("GetLongPathName") +#if wxUSE_UNICODE + _T("W"); +#else // ANSI + _T("A"); +#endif // Unicode/ANSI - if ( dllKernel.HasSymbol(ADD_STR_SFX(GetLongPathName)) ) + if ( dllKernel.HasSymbol(GetLongPathName) ) { s_pfnGetLongPathName = (GET_LONG_PATH_NAME) - dllKernel.GetSymbol(ADD_STR_SFX(GetLongPathName)); + dllKernel.GetSymbol(GetLongPathName); } // note that kernel32.dll can be unloaded, it stays in memory @@ -1893,6 +1893,8 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess, } } #elif defined(__UNIX_LIKE__) || (defined(__DOS__) && defined(__WATCOMC__)) + wxUnusedVar(dtCreate); + if ( !dtAccess && !dtMod ) { // can't modify the creation time anyhow, don't try @@ -1909,6 +1911,9 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess, return true; } #else // other platform + wxUnusedVar(dtAccess); + wxUnusedVar(dtMod); + wxUnusedVar(dtCreate); #endif // platforms wxLogSysError(_("Failed to modify file times for '%s'"), @@ -1985,7 +1990,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess, return true; } -#elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || (defined(__DOS__) && defined(__WATCOMC__)) +#elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || defined(__OS2__) || (defined(__DOS__) && defined(__WATCOMC__)) wxStructStat stBuf; if ( wxStat( GetFullPath().c_str(), &stBuf) == 0 ) { @@ -1999,6 +2004,9 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess, return true; } #else // other platform + wxUnusedVar(dtAccess); + wxUnusedVar(dtMod); + wxUnusedVar(dtCreate); #endif // platforms wxLogSysError(_("Failed to retrieve file times for '%s'"),