X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc985face55ed02c310860afefc8e6d656fb849d..5391f772be01cefca80affdc87afbfb894b2976b:/src/common/file.cpp diff --git a/src/common/file.cpp b/src/common/file.cpp index 55e153dee4..6b65c35e82 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 @@ -206,12 +211,6 @@ wxFile::wxFile(const wxChar *szFileName, OpenMode mode) Open(szFileName, mode); } -// dtor -wxFile::~wxFile() -{ - Close(); -} - // create the file, fail if it already exists and bOverwrite bool wxFile::Create(const wxChar *szFileName, bool bOverwrite, int accessMode) { @@ -350,25 +349,25 @@ off_t wxFile::Seek(off_t ofs, wxSeekMode mode) { wxASSERT( IsOpened() ); - int flag = -1; + int origin; switch ( mode ) { + default: + wxFAIL_MSG(_("unknown seek origin")); + case wxFromStart: - flag = SEEK_SET; + origin = SEEK_SET; break; case wxFromCurrent: - flag = SEEK_CUR; + origin = SEEK_CUR; break; case wxFromEnd: - flag = SEEK_END; + origin = SEEK_END; break; - - default: - wxFAIL_MSG(_("unknown seek origin")); } - int iRc = lseek(m_fd, ofs, flag); + int iRc = lseek(m_fd, ofs, origin); if ( iRc == -1 ) { wxLogSysError(_("can't seek on file descriptor %d"), m_fd); return wxInvalidOffset; @@ -485,6 +484,13 @@ bool wxTempFile::Open(const wxString& strName) static const wxChar *szMktempSuffix = _T("XXXXXX"); m_strTemp << strName << szMktempSuffix; mktemp(MBSTRINGCAST m_strTemp.mb_str()); // will do because length doesn't change +#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 = _T("XXX"); + m_strTemp << strName << szMktempSuffix; + mkdir(m_strTemp.GetWriteBuf(MAX_PATH)); #else // Windows wxString strPath; wxSplitPath(strName, &strPath, NULL, NULL);