X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b82138efe9aacda4e0ad7ce4b1551d624524c4..b068c4e8a1f4919360329c345eae36ff95ab5a10:/src/common/file.cpp diff --git a/src/common/file.cpp b/src/common/file.cpp index 2cdd6e8e7c..4ec2c612ec 100644 --- a/src/common/file.cpp +++ b/src/common/file.cpp @@ -60,6 +60,11 @@ #ifdef __GNUWIN32__ #include #endif +#elif (defined(__WXPM__)) + #include + #include + #define W_OK 2 + #define R_OK 4 #elif (defined(__WXSTUBS__)) // Have to ifdef this for different environments #include @@ -164,7 +169,7 @@ bool wxFile::Exists(const wxChar *name) wxCharBuffer fname = wxConvFile.cWC2MB(name); return !access(fname, 0) && - !stat(MBSTRINGCAST fname, &st) && + !stat(wxMBSTRINGCAST fname, &st) && (st.st_mode & S_IFREG); #else return !access(name, 0) && @@ -187,7 +192,7 @@ bool wxFile::Access(const wxChar *name, OpenMode mode) break; default: - wxFAIL_MSG(_T("bad wxFile::Access mode parameter.")); + wxFAIL_MSG(wxT("bad wxFile::Access mode parameter.")); } return access(wxFNCONV(name), how) == 0; @@ -476,21 +481,29 @@ bool wxTempFile::Open(const wxString& strName) // different partitions for example). Unfortunately, the only standard // (POSIX) temp file creation function tmpnam() can't do it. #if defined(__UNIX__) || defined(__WXSTUBS__)|| defined( __WXMAC__ ) - static const wxChar *szMktempSuffix = _T("XXXXXX"); + static const wxChar *szMktempSuffix = wxT("XXXXXX"); + m_strTemp << strName << szMktempSuffix; + // can use the cast because length doesn't change + mktemp(wxMBSTRINGCAST m_strTemp.mb_str()); +#elif defined(__WXPM__) + // for now just create a file + // future enhancements can be to set some extended attributes for file systems + // OS/2 supports that have them (HPFS, FAT32) and security (HPFS386) + static const wxChar *szMktempSuffix = wxT("XXX"); m_strTemp << strName << szMktempSuffix; - mktemp(MBSTRINGCAST m_strTemp.mb_str()); // will do because length doesn't change + mkdir(m_strTemp.GetWriteBuf(MAX_PATH)); #else // Windows wxString strPath; wxSplitPath(strName, &strPath, NULL, NULL); if ( strPath.IsEmpty() ) - strPath = _T('.'); // GetTempFileName will fail if we give it empty string + strPath = wxT('.'); // GetTempFileName will fail if we give it empty string #ifdef __WIN32__ - if ( !GetTempFileName(strPath, _T("wx_"),0, m_strTemp.GetWriteBuf(MAX_PATH)) ) + if ( !GetTempFileName(strPath, wxT("wx_"),0, m_strTemp.GetWriteBuf(MAX_PATH)) ) #else // Not sure why MSVC++ 1.5 header defines first param as BYTE - bug? - if ( !GetTempFileName((BYTE) (const wxChar*) strPath, _T("wx_"),0, m_strTemp.GetWriteBuf(MAX_PATH)) ) + if ( !GetTempFileName((BYTE) (DWORD)(const wxChar*) strPath, wxT("wx_"),0, m_strTemp.GetWriteBuf(MAX_PATH)) ) #endif - wxLogLastError(_T("GetTempFileName")); + wxLogLastError(wxT("GetTempFileName")); m_strTemp.UngetWriteBuf(); #endif // Windows/Unix