]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/file.cpp
* Fixed two memory leaks.
[wxWidgets.git] / src / common / file.cpp
index 48683353e0b8c333b2d40bb45048c8be5d741e74..44c4b7b77fedde9dca0ff1246a98c3803b70ded3 100644 (file)
@@ -53,6 +53,9 @@
   #include  <windows.h>     // for GetTempFileName
 #elif (defined(__UNIX__) || defined(__GNUWIN32__))
   #include  <unistd.h>
   #include  <windows.h>     // for GetTempFileName
 #elif (defined(__UNIX__) || defined(__GNUWIN32__))
   #include  <unistd.h>
+#elif (defined(__WXSTUBS__))
+  // Have to ifdef this for different environments
+  #include <io.h>
 #else
   #error  "Please specify the header with file functions declarations."
 #endif  //Win/UNIX
 #else
   #error  "Please specify the header with file functions declarations."
 #endif  //Win/UNIX
   #define   tell(fd)    lseek(fd, 0, SEEK_CUR)
 #endif  //_MSC_VER
 
   #define   tell(fd)    lseek(fd, 0, SEEK_CUR)
 #endif  //_MSC_VER
 
+#ifdef __BORLANDC__
+  #define   W_OK        2
+  #define   R_OK        4
+#endif
+
 // there is no distinction between text and binary files under Unix
 #ifdef    __UNIX__
   #define   O_BINARY    (0)
 // there is no distinction between text and binary files under Unix
 #ifdef    __UNIX__
   #define   O_BINARY    (0)
@@ -244,11 +252,11 @@ off_t wxFile::Read(void *pBuf, off_t nCount)
     return wxInvalidOffset;
   }
   else
     return wxInvalidOffset;
   }
   else
-    return (uint)iRc;
+    return (size_t)iRc;
 }
 
 // write
 }
 
 // write
-uint wxFile::Write(const void *pBuf, uint nCount)
+size_t wxFile::Write(const void *pBuf, size_t nCount)
 {
   wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
 
 {
   wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
 
@@ -418,7 +426,7 @@ bool wxTempFile::Open(const wxString& strName)
   // otherwise rename() in Commit() might not work (if the files are on
   // different partitions for example). Unfortunately, the only standard
   // (POSIX) temp file creation function tmpnam() can't do it.
   // otherwise rename() in Commit() might not work (if the files are on
   // different partitions for example). Unfortunately, the only standard
   // (POSIX) temp file creation function tmpnam() can't do it.
-  #ifdef  __UNIX__
+  #if defined(__UNIX__) || defined(__WXSTUBS__)
     static const char *szMktempSuffix = "XXXXXX";
     m_strTemp << strName << szMktempSuffix;
     mktemp((char *)m_strTemp.c_str()); // will do because length doesn't change
     static const char *szMktempSuffix = "XXXXXX";
     m_strTemp << strName << szMktempSuffix;
     mktemp((char *)m_strTemp.c_str()); // will do because length doesn't change