]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileback.cpp
missing common create functions
[wxWidgets.git] / src / common / fileback.cpp
index 8b2261cdea4cebecdeb89324bd19be4f75fb8187..e5c631f832800c7a10e7e17b9a30c8d306338fb0 100644 (file)
 
 #if wxUSE_BACKINGFILE
 
+#include "wx/fileback.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/stream.h"
     #include "wx/utils.h"
     #include "wx/log.h"
 #endif
 
-#include "wx/fileback.h"
 #include "wx/private/filename.h"
 
 // Prefer wxFFile unless wxFile has large file support but wxFFile does not.
 //
-#if wxUSE_FFILE && (defined WXFFILE_LARGEFILE || !defined WXFILE_LARGEFILE)
+#if wxUSE_FFILE && (defined wxHAS_LARGE_FFILES || !defined wxHAS_LARGE_FILES)
 typedef wxFFile wxBFFile;
 static const bool wxBadSeek = false;
 #else
@@ -83,7 +83,7 @@ wxBackingFileImpl::wxBackingFileImpl(wxInputStream *stream,
     wxFileOffset len = m_stream->GetLength();
 
     if (len >= 0 && len + size_t(0) < m_bufsize)
-        m_bufsize = len;
+        m_bufsize = size_t(len);
 
     if (m_bufsize)
         m_buf = new char[m_bufsize];
@@ -114,7 +114,7 @@ wxStreamError wxBackingFileImpl::ReadAt(wxFileOffset pos,
         size1 = reqestedSize;
         size2 = 0;
     } else if (pos < m_filelen) {
-        size1 = m_filelen - pos;
+        size1 = size_t(m_filelen - pos);
         size2 = reqestedSize - size1;
     } else {
         size1 = 0;
@@ -171,7 +171,7 @@ wxStreamError wxBackingFileImpl::ReadAt(wxFileOffset pos,
                         delete m_stream;
                         m_stream = NULL;
                         if (count > 0) {
-                            delete m_buf;
+                            delete[] m_buf;
                             m_buf = NULL;
                             m_buflen = 0;
                         }
@@ -182,7 +182,7 @@ wxStreamError wxBackingFileImpl::ReadAt(wxFileOffset pos,
                     m_buflen = 0;
 
                     if (!m_stream) {
-                        delete m_buf;
+                        delete[] m_buf;
                         m_buf = NULL;
                     }
                 }
@@ -203,7 +203,7 @@ wxStreamError wxBackingFileImpl::ReadAt(wxFileOffset pos,
             }
 
             // copy to the user's buffer
-            size_t start = pos - m_filelen;
+            size_t start = size_t(pos - m_filelen);
             size_t len = wxMin(m_buflen - start, reqestedSize - *size);
 
             memcpy((char*)buffer + *size, m_buf + start, len);