]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/file.cpp
Cleaning of sources (Univ related files). -1/TRUE/FALSE/wxIDY_ANY/wxDefaultCoord...
[wxWidgets.git] / src / common / file.cpp
index 3eacce8a6a241b785cd79a97a8de660bda50b709..5d0d1bee7bc1fda2abbc5fee45ecd3d9d3d9a9be 100644 (file)
     #define ACCESS(access)  , (access)
 #endif // Salford C
 
-// wxWindows
+// wxWidgets
 #ifndef WX_PRECOMP
     #include  "wx/string.h"
     #include  "wx/intl.h"
@@ -345,6 +345,13 @@ bool wxFile::Open(const wxChar *szFileName, OpenMode mode, int accessMode)
             break;
     }
 
+#ifdef __WINDOWS__
+    // only read/write bits for "all" are supported by this function under
+    // Windows, and VC++ 8 returns EINVAL if any other bits are used in
+    // accessMode, so clear them as they have at best no effect anyhow
+    accessMode &= wxS_IRUSR | wxS_IWUSR;
+#endif // __WINDOWS__
+
     int fd = wxOpen( szFileName, flags ACCESS(accessMode));
 #endif
     if ( fd == -1 )
@@ -414,10 +421,10 @@ size_t wxFile::Write(const void *pBuf, size_t nCount)
     wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
 
 #ifdef __WXWINCE__
-    DWORD bytesRead = 0;
+    DWORD bytesWritten = 0;
     int iRc = 0;
-    if (WriteFile((HANDLE) m_fd, pBuf, (DWORD) nCount, & bytesRead, NULL))
-        iRc = bytesRead;
+    if (WriteFile((HANDLE) m_fd, pBuf, (DWORD) nCount, & bytesWritten, NULL))
+        iRc = bytesWritten;
     else
         iRc = -1;
 #elif defined(__MWERKS__)