]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxFileSize_t, changed types of wxFile methods/parameters once again
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 15 Oct 2004 00:01:00 +0000 (00:01 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 15 Oct 2004 00:01:00 +0000 (00:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/file.h
include/wx/filefn.h
src/common/file.cpp
src/common/filefn.cpp

index 18c3a3426cf1ab770d62f7f76a096295b0b5baf0..d4faf397f4304ba69e1626d1fe1a8302cd74edca 100644 (file)
@@ -150,10 +150,10 @@ INCOMPATIBLE CHANGES SINCE 2.4.x
 - wxNotebookSizer and wxBookCtrlSizer are now deprecated -- they are no longer
   needed, you can treat wxNotebook as any other control and put it directly
   into the sizer that was wxNotebookSizer's parent sizer in old code.
-- wxFile methods now return wxFileOffset which may be a 64 bit integer type,
-  even on 32 bit platforms, instead of off_t and so the return value of
-  wxFile::Length(), for example, shouldn't be assigned to off_t variable any
-  more (the compiler might warn you about this).
+- wxFile methods now return either wxFileOffset or wxFileSize_t which may be a
+  64 bit integer type, even on 32 bit platforms, instead of off_t and so the
+  return value of wxFile::Length(), for example, shouldn't be assigned to off_t
+  variable any more (the compiler might warn you about this)
 - wxListItem::m_data is now of type wxUIntPtr, not long, for compatibility
   with 64 bit systems
 
index 15b35b8d83776ec0cfdc1e74d5a1764c2bbb8f1d..e4ed0193f2700ddc7a1bff6083493aae7f51dc5c 100644 (file)
@@ -95,14 +95,14 @@ public:
 
   // read/write (unbuffered)
     // returns number of bytes read or ofsInvalid on error
-  size_t Read(void *pBuf, size_t nCount);
+  wxFileSize_t Read(void *pBuf, wxFileSize_t nCount);
     // returns the number of bytes written
-  size_t Write(const void *pBuf, size_t nCount);
+  wxFileSize_t Write(const void *pBuf, wxFileSize_t nCount);
     // returns true on success
   bool Write(const wxString& s, wxMBConv& conv = wxConvUTF8)
   {
       const wxWX2MBbuf buf = s.mb_str(conv);
-      size_t size = strlen(buf);
+      wxFileSize_t size = strlen(buf);
       return Write((const char *) buf, size) == size;
   }
     // flush data not yet written
@@ -164,7 +164,7 @@ public:
   bool IsOpened() const { return m_file.IsOpened(); }
 
   // I/O (both functions return true on success, false on failure)
-  bool Write(const void *p, size_t n) { return m_file.Write(p, n) != 0; }
+  bool Write(const void *p, wxFileSize_t n) { return m_file.Write(p, n) == n; }
   bool Write(const wxString& str, wxMBConv& conv = wxConvUTF8)
     { return m_file.Write(str, conv); }
 
index 8835bdb28c464648c585a96f67300d90a62ab87b..6848bbdeaf1b042789bb5bfe80ec0fb00585b3e8 100644 (file)
@@ -131,6 +131,7 @@ enum wxSeekMode
 // Implemented in filefnwce.cpp
 #if defined( __WXWINCE__)
     typedef __int64 wxFileOffset;
+    typedef unsigned __int64 wxFileSize_t;
     #define wxFileOffsetFmtSpec _("I64")
     int wxOpen(const wxChar *filename, int oflag, int WXUNUSED(pmode));
     int wxAccess(const wxChar *name, int WXUNUSED(how));
@@ -195,9 +196,11 @@ enum wxSeekMode
 
     #if wxHAS_HUGE_FILES
         typedef wxLongLong_t wxFileOffset;
+        typedef unsigned wxLongLong_t wxFileSize_t;
         #define wxFileOffsetFmtSpec wxLongLongFmtSpec
     #else
         typedef off_t wxFileOffset;
+        typedef unsigned off_t wxFileSize_t;
         #define wxFileOffsetFmtSpec _("")
     #endif
 
@@ -319,6 +322,7 @@ enum wxSeekMode
     #undef wxHAS_HUGE_FILES
 #else // Unix platforms using configure
     typedef off_t wxFileOffset;
+    typedef unsigned off_t wxFileSize_t;
     #ifdef _LARGE_FILES
         #define wxFileOffsetFmtSpec wxLongLongFmtSpec
     #else
@@ -360,9 +364,9 @@ enum wxSeekMode
 // VisualAge C++ V4.0 cannot have any external linkage const decs
 // in headers included by more than one primary source
 //
-extern const wxFileOffset wxInvalidOffset;
+extern const wxFileSize_t wxInvalidOffset;
 #else
-const wxFileOffset wxInvalidOffset = (wxFileOffset)-1;
+const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1;
 #endif
 
 // ----------------------------------------------------------------------------
index b8d659f833a727edec30cb6a40624fbbd0fc1645..d4f8309c9e709472b68f4fa15f1c40f08a3842e0 100644 (file)
@@ -298,22 +298,22 @@ bool wxFile::Close()
 // ----------------------------------------------------------------------------
 
 // read
-size_t wxFile::Read(void *pBuf, size_t nCount)
+wxFileSize_t wxFile::Read(void *pBuf, wxFileSize_t nCount)
 {
     wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
 
-    int iRc = wxRead(m_fd, pBuf, nCount);
+    wxFileOffset iRc = wxRead(m_fd, pBuf, nCount);
 
     if ( iRc == -1 ) {
         wxLogSysError(_("can't read from file descriptor %d"), m_fd);
-        return (size_t)wxInvalidOffset;
+        return wxInvalidOffset;
     }
     else
-        return (size_t)iRc;
+        return (wxFileSize_t)iRc;
 }
 
 // write
-size_t wxFile::Write(const void *pBuf, size_t nCount)
+wxFileSize_t wxFile::Write(const void *pBuf, wxFileSize_t nCount)
 {
     wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
 
@@ -325,7 +325,7 @@ size_t wxFile::Write(const void *pBuf, size_t nCount)
         return 0;
     }
     else
-        return iRc;
+        return (wxFileSize_t)iRc;
 }
 
 // flush
index eab5a6c4b0af954f237feb6a791f793d6b9244cc..f0ab27e53c58927b8d641d5f8ffa912cdfc2da54 100644 (file)
@@ -104,7 +104,7 @@ static wxChar wxFileFunctionsBuffer[4*_MAXPATHLEN];
 // VisualAge C++ V4.0 cannot have any external linkage const decs
 // in headers included by more than one primary source
 //
-const off_t wxInvalidOffset = (off_t)-1;
+const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1;
 #endif
 
 // ----------------------------------------------------------------------------