void CreateTempFile(ofstream &fileStream, string &filePath) { #ifdef _WIN32 char buffer[BUFSIZ]; ::GetTempFileNameA(GetTempFolder().c_str(), "", 0, buffer); filePath = buffer; #else char buffer[L_tmpnam]; strcpy(buffer, GetTempFolder().c_str()); strcat(buffer, PROJECT_NAME); strcat(buffer, "--XXXXXX"); mkstemp(buffer); filePath = buffer; #endif fileStream.open(filePath.c_str(), ofstream::out | ofstream::app); }
BOOL FileMisc::IsTempFile(LPCTSTR szFilename) { CString sFilename(szFilename); sFilename.MakeLower(); CString sTempFolder = GetTempFolder(); sTempFolder.MakeLower(); return (sFilename.Find(sTempFolder) == 0); }
wxString ConfigManager::LocateDataFile(const wxString& filename, int search_dirs) { wxPathList searchPaths; // user dirs have precedence if (search_dirs & sdPluginsUser) searchPaths.Add(GetPluginsFolder(false)); if (search_dirs & sdScriptsUser) searchPaths.Add(GetScriptsFolder(false)); if (search_dirs & sdDataUser) searchPaths.Add(GetDataFolder(false)); // then we have global dirs if (search_dirs & sdPluginsGlobal) searchPaths.Add(GetPluginsFolder(true)); if (search_dirs & sdScriptsGlobal) searchPaths.Add(GetScriptsFolder(true)); if (search_dirs & sdDataGlobal) searchPaths.Add(GetDataFolder(true)); // rest of the dirs if (search_dirs & sdCurrent) searchPaths.Add(::wxGetCwd()); if (search_dirs & sdConfig) searchPaths.Add(GetConfigFolder()); if (search_dirs & sdHome) searchPaths.Add(GetHomeFolder()); if (search_dirs & sdBase) searchPaths.Add(GetExecutableFolder()); if (search_dirs & sdTemp) searchPaths.Add(GetTempFolder()); // PATH env. var if (search_dirs & sdPath) searchPaths.AddEnvList(_T("PATH")); return searchPaths.FindValidPath(filename); }