Enable the huge files patch to build with mingw-cross.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -183,6 +183,8 @@ enum wxSeekMode
|
|||||||
|
|
||||||
// Not all of the Win32 compilers do have huge file support, for example
|
// Not all of the Win32 compilers do have huge file support, for example
|
||||||
// the Digitalmars compiler does not have huge file size support
|
// the Digitalmars compiler does not have huge file size support
|
||||||
|
#include "wx/msw/private.h"
|
||||||
|
|
||||||
#undef __HUGEFILES_SUPPORTED
|
#undef __HUGEFILES_SUPPORTED
|
||||||
#if _INTEGRAL_MAX_BITS >= 64 && !defined(__DMC__)
|
#if _INTEGRAL_MAX_BITS >= 64 && !defined(__DMC__)
|
||||||
#define __HUGEFILES_SUPPORTED 1
|
#define __HUGEFILES_SUPPORTED 1
|
||||||
@@ -199,7 +201,7 @@ enum wxSeekMode
|
|||||||
typedef wxLongLong_t wxFileOffset;
|
typedef wxLongLong_t wxFileOffset;
|
||||||
#define wxFileOffsetFmtSpec wxLongLongFmtSpec
|
#define wxFileOffsetFmtSpec wxLongLongFmtSpec
|
||||||
#else
|
#else
|
||||||
typedef int wxFileOffset;
|
typedef off_t wxFileOffset;
|
||||||
#define wxFileOffsetFmtSpec _("")
|
#define wxFileOffsetFmtSpec _("")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -35,8 +35,8 @@ protected:
|
|||||||
wxStreamBuffer *m_i_streambuf;
|
wxStreamBuffer *m_i_streambuf;
|
||||||
|
|
||||||
size_t OnSysRead(void *buffer, size_t nbytes);
|
size_t OnSysRead(void *buffer, size_t nbytes);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t m_length;
|
size_t m_length;
|
||||||
@@ -64,8 +64,8 @@ protected:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
size_t OnSysWrite(const void *buffer, size_t nbytes);
|
size_t OnSysWrite(const void *buffer, size_t nbytes);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxMemoryOutputStream)
|
DECLARE_NO_COPY_CLASS(wxMemoryOutputStream)
|
||||||
};
|
};
|
||||||
|
@@ -27,9 +27,9 @@ class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream
|
|||||||
wxSocketOutputStream(wxSocketBase& s);
|
wxSocketOutputStream(wxSocketBase& s);
|
||||||
~wxSocketOutputStream();
|
~wxSocketOutputStream();
|
||||||
|
|
||||||
off_t SeekO( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
|
wxFileOffset SeekO( wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
|
||||||
{ return -1; }
|
{ return -1; }
|
||||||
off_t TellO() const
|
wxFileOffset TellO() const
|
||||||
{ return -1; }
|
{ return -1; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -46,9 +46,9 @@ class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream
|
|||||||
wxSocketInputStream(wxSocketBase& s);
|
wxSocketInputStream(wxSocketBase& s);
|
||||||
~wxSocketInputStream();
|
~wxSocketInputStream();
|
||||||
|
|
||||||
off_t SeekI( off_t WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
|
wxFileOffset SeekI( wxFileOffset WXUNUSED(pos), wxSeekMode WXUNUSED(mode) )
|
||||||
{ return -1; }
|
{ return -1; }
|
||||||
off_t TellI() const
|
wxFileOffset TellI() const
|
||||||
{ return -1; }
|
{ return -1; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@@ -34,8 +34,8 @@ public:
|
|||||||
virtual size_t GetSize() const { return m_str.length(); }
|
virtual size_t GetSize() const { return m_str.length(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual off_t OnSysSeek(off_t ofs, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset ofs, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
virtual size_t OnSysRead(void *buffer, size_t size);
|
virtual size_t OnSysRead(void *buffer, size_t size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -68,7 +68,7 @@ public:
|
|||||||
const wxString& GetString() const { return *m_str; }
|
const wxString& GetString() const { return *m_str; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
virtual size_t OnSysWrite(const void *buffer, size_t size);
|
virtual size_t OnSysWrite(const void *buffer, size_t size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -91,8 +91,8 @@ public:
|
|||||||
#endif // WXWIN_COMPATIBILITY_2_2
|
#endif // WXWIN_COMPATIBILITY_2_2
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual off_t OnSysSeek(off_t seek, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
size_t m_lastcount;
|
size_t m_lastcount;
|
||||||
wxStreamError m_lasterror;
|
wxStreamError m_lasterror;
|
||||||
@@ -192,10 +192,10 @@ public:
|
|||||||
// it)
|
// it)
|
||||||
//
|
//
|
||||||
// returns wxInvalidOffset on error
|
// returns wxInvalidOffset on error
|
||||||
virtual off_t SeekI(off_t pos, wxSeekMode mode = wxFromStart);
|
virtual wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart);
|
||||||
|
|
||||||
// return the current position of the stream pointer or wxInvalidOffset
|
// return the current position of the stream pointer or wxInvalidOffset
|
||||||
virtual off_t TellI() const;
|
virtual wxFileOffset TellI() const;
|
||||||
|
|
||||||
|
|
||||||
// stream-like operators
|
// stream-like operators
|
||||||
@@ -250,8 +250,8 @@ public:
|
|||||||
virtual wxOutputStream& Write(const void *buffer, size_t size);
|
virtual wxOutputStream& Write(const void *buffer, size_t size);
|
||||||
wxOutputStream& Write(wxInputStream& stream_in);
|
wxOutputStream& Write(wxInputStream& stream_in);
|
||||||
|
|
||||||
virtual off_t SeekO(off_t pos, wxSeekMode mode = wxFromStart);
|
virtual wxFileOffset SeekO(wxFileOffset pos, wxSeekMode mode = wxFromStart);
|
||||||
virtual off_t TellO() const;
|
virtual wxFileOffset TellO() const;
|
||||||
|
|
||||||
virtual size_t LastWrite() const { return wxStreamBase::m_lastcount; }
|
virtual size_t LastWrite() const { return wxStreamBase::m_lastcount; }
|
||||||
|
|
||||||
@@ -288,8 +288,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual size_t OnSysWrite(const void *buffer, size_t size);
|
virtual size_t OnSysWrite(const void *buffer, size_t size);
|
||||||
virtual off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
size_t m_currentPos;
|
size_t m_currentPos;
|
||||||
|
|
||||||
@@ -368,8 +368,8 @@ public:
|
|||||||
virtual char Peek();
|
virtual char Peek();
|
||||||
virtual char GetChar();
|
virtual char GetChar();
|
||||||
virtual void PutChar(char c);
|
virtual void PutChar(char c);
|
||||||
virtual off_t Tell() const;
|
virtual wxFileOffset Tell() const;
|
||||||
virtual off_t Seek(off_t pos, wxSeekMode mode);
|
virtual wxFileOffset Seek(wxFileOffset pos, wxSeekMode mode);
|
||||||
|
|
||||||
// Buffer control
|
// Buffer control
|
||||||
void ResetBuffer();
|
void ResetBuffer();
|
||||||
@@ -475,8 +475,8 @@ public:
|
|||||||
wxInputStream& Read(void *buffer, size_t size);
|
wxInputStream& Read(void *buffer, size_t size);
|
||||||
|
|
||||||
// Position functions
|
// Position functions
|
||||||
off_t SeekI(off_t pos, wxSeekMode mode = wxFromStart);
|
wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart);
|
||||||
off_t TellI() const;
|
wxFileOffset TellI() const;
|
||||||
|
|
||||||
// the buffer given to the stream will be deleted by it
|
// the buffer given to the stream will be deleted by it
|
||||||
void SetInputStreamBuffer(wxStreamBuffer *buffer);
|
void SetInputStreamBuffer(wxStreamBuffer *buffer);
|
||||||
@@ -487,8 +487,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual size_t OnSysRead(void *buffer, size_t bufsize);
|
virtual size_t OnSysRead(void *buffer, size_t bufsize);
|
||||||
virtual off_t OnSysSeek(off_t seek, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
wxStreamBuffer *m_i_streambuf;
|
wxStreamBuffer *m_i_streambuf;
|
||||||
|
|
||||||
@@ -510,8 +510,8 @@ public:
|
|||||||
wxOutputStream& Write(const void *buffer, size_t size);
|
wxOutputStream& Write(const void *buffer, size_t size);
|
||||||
|
|
||||||
// Position functions
|
// Position functions
|
||||||
off_t SeekO(off_t pos, wxSeekMode mode = wxFromStart);
|
wxFileOffset SeekO(wxFileOffset pos, wxSeekMode mode = wxFromStart);
|
||||||
off_t TellO() const;
|
wxFileOffset TellO() const;
|
||||||
|
|
||||||
void Sync();
|
void Sync();
|
||||||
|
|
||||||
@@ -526,8 +526,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
|
virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
|
||||||
virtual off_t OnSysSeek(off_t seek, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const;
|
virtual wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
wxStreamBuffer *m_o_streambuf;
|
wxStreamBuffer *m_o_streambuf;
|
||||||
|
|
||||||
|
@@ -45,8 +45,8 @@ class WXDLLIMPEXP_BASE wxFileInputStream: public wxInputStream {
|
|||||||
wxFileInputStream();
|
wxFileInputStream();
|
||||||
|
|
||||||
size_t OnSysRead(void *buffer, size_t size);
|
size_t OnSysRead(void *buffer, size_t size);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxFile *m_file;
|
wxFile *m_file;
|
||||||
@@ -75,8 +75,8 @@ class WXDLLIMPEXP_BASE wxFileOutputStream: public wxOutputStream {
|
|||||||
wxFileOutputStream();
|
wxFileOutputStream();
|
||||||
|
|
||||||
size_t OnSysWrite(const void *buffer, size_t size);
|
size_t OnSysWrite(const void *buffer, size_t size);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxFile *m_file;
|
wxFile *m_file;
|
||||||
@@ -114,8 +114,8 @@ class WXDLLIMPEXP_BASE wxFFileInputStream: public wxInputStream {
|
|||||||
wxFFileInputStream();
|
wxFFileInputStream();
|
||||||
|
|
||||||
size_t OnSysRead(void *buffer, size_t size);
|
size_t OnSysRead(void *buffer, size_t size);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxFFile *m_file;
|
wxFFile *m_file;
|
||||||
@@ -144,8 +144,8 @@ class WXDLLIMPEXP_BASE wxFFileOutputStream: public wxOutputStream {
|
|||||||
wxFFileOutputStream();
|
wxFFileOutputStream();
|
||||||
|
|
||||||
size_t OnSysWrite(const void *buffer, size_t size);
|
size_t OnSysWrite(const void *buffer, size_t size);
|
||||||
off_t OnSysSeek(off_t pos, wxSeekMode mode);
|
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||||
off_t OnSysTell() const;
|
wxFileOffset OnSysTell() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxFFile *m_file;
|
wxFFile *m_file;
|
||||||
|
@@ -39,12 +39,12 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual size_t OnSysRead(void *buffer, size_t bufsize);
|
virtual size_t OnSysRead(void *buffer, size_t bufsize);
|
||||||
virtual off_t OnSysSeek(off_t seek, wxSeekMode mode);
|
virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
|
||||||
virtual off_t OnSysTell() const {return m_Pos;}
|
virtual wxFileOffset OnSysTell() const {return m_Pos;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
size_t m_Size;
|
size_t m_Size;
|
||||||
off_t m_Pos;
|
wxFileOffset m_Pos;
|
||||||
|
|
||||||
// this void* is handle of archive . I'm sorry it is void and not proper
|
// this void* is handle of archive . I'm sorry it is void and not proper
|
||||||
// type but I don't want to make unzip.h header public.
|
// type but I don't want to make unzip.h header public.
|
||||||
|
@@ -52,13 +52,13 @@ class WXDLLIMPEXP_BASE wxZlibInputStream: public wxFilterInputStream {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
size_t OnSysRead(void *buffer, size_t size);
|
size_t OnSysRead(void *buffer, size_t size);
|
||||||
off_t OnSysTell() const { return m_pos; }
|
wxFileOffset OnSysTell() const { return m_pos; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
size_t m_z_size;
|
size_t m_z_size;
|
||||||
unsigned char *m_z_buffer;
|
unsigned char *m_z_buffer;
|
||||||
struct z_stream_s *m_inflate;
|
struct z_stream_s *m_inflate;
|
||||||
off_t m_pos;
|
wxFileOffset m_pos;
|
||||||
#if WXWIN_COMPATIBILITY_2_4
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
bool m_24compatibilty;
|
bool m_24compatibilty;
|
||||||
#endif
|
#endif
|
||||||
@@ -78,7 +78,7 @@ class WXDLLIMPEXP_BASE wxZlibOutputStream: public wxFilterOutputStream {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
size_t OnSysWrite(const void *buffer, size_t size);
|
size_t OnSysWrite(const void *buffer, size_t size);
|
||||||
off_t OnSysTell() const { return m_pos; }
|
wxFileOffset OnSysTell() const { return m_pos; }
|
||||||
|
|
||||||
virtual void DoFlush(bool final);
|
virtual void DoFlush(bool final);
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ class WXDLLIMPEXP_BASE wxZlibOutputStream: public wxFilterOutputStream {
|
|||||||
size_t m_z_size;
|
size_t m_z_size;
|
||||||
unsigned char *m_z_buffer;
|
unsigned char *m_z_buffer;
|
||||||
struct z_stream_s *m_deflate;
|
struct z_stream_s *m_deflate;
|
||||||
off_t m_pos;
|
wxFileOffset m_pos;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxZlibOutputStream)
|
DECLARE_NO_COPY_CLASS(wxZlibOutputStream)
|
||||||
};
|
};
|
||||||
|
@@ -85,12 +85,12 @@ size_t wxMemoryInputStream::OnSysRead(void *buffer, size_t nbytes)
|
|||||||
return m_i_streambuf->GetIntPosition() - pos;
|
return m_i_streambuf->GetIntPosition() - pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxMemoryInputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxMemoryInputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_i_streambuf->Seek(pos, mode);
|
return m_i_streambuf->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxMemoryInputStream::OnSysTell() const
|
wxFileOffset wxMemoryInputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_i_streambuf->Tell();
|
return m_i_streambuf->Tell();
|
||||||
}
|
}
|
||||||
@@ -126,12 +126,12 @@ size_t wxMemoryOutputStream::OnSysWrite(const void *buffer, size_t nbytes)
|
|||||||
return newpos - oldpos;
|
return newpos - oldpos;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxMemoryOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxMemoryOutputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_o_streambuf->Seek(pos, mode);
|
return m_o_streambuf->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxMemoryOutputStream::OnSysTell() const
|
wxFileOffset wxMemoryOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_o_streambuf->Tell();
|
return m_o_streambuf->Tell();
|
||||||
}
|
}
|
||||||
|
@@ -36,7 +36,7 @@
|
|||||||
// seek/tell
|
// seek/tell
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
off_t wxStringInputStream::OnSysSeek(off_t ofs, wxSeekMode mode)
|
wxFileOffset wxStringInputStream::OnSysSeek(wxFileOffset ofs, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
const size_t ofsMax = m_str.length()*sizeof(wxChar);
|
const size_t ofsMax = m_str.length()*sizeof(wxChar);
|
||||||
|
|
||||||
@@ -67,9 +67,9 @@ off_t wxStringInputStream::OnSysSeek(off_t ofs, wxSeekMode mode)
|
|||||||
return ofs;
|
return ofs;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxStringInputStream::OnSysTell() const
|
wxFileOffset wxStringInputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return wx_static_cast(off_t, m_pos);
|
return wx_static_cast(wxFileOffset, m_pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -105,9 +105,9 @@ size_t wxStringInputStream::OnSysRead(void *buffer, size_t size)
|
|||||||
// seek/tell
|
// seek/tell
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
off_t wxStringOutputStream::OnSysTell() const
|
wxFileOffset wxStringOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return wx_static_cast(off_t, m_pos);
|
return wx_static_cast(wxFileOffset, m_pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -551,11 +551,11 @@ size_t wxStreamBuffer::Write(wxStreamBuffer *sbuf)
|
|||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxStreamBuffer::Seek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxStreamBuffer::Seek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
off_t ret_off, diff;
|
wxFileOffset ret_off, diff;
|
||||||
|
|
||||||
off_t last_access = GetLastAccess();
|
wxFileOffset last_access = GetLastAccess();
|
||||||
|
|
||||||
if ( !m_flushable )
|
if ( !m_flushable )
|
||||||
{
|
{
|
||||||
@@ -619,9 +619,9 @@ off_t wxStreamBuffer::Seek(off_t pos, wxSeekMode mode)
|
|||||||
return wxInvalidOffset;
|
return wxInvalidOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxStreamBuffer::Tell() const
|
wxFileOffset wxStreamBuffer::Tell() const
|
||||||
{
|
{
|
||||||
off_t pos;
|
wxFileOffset pos;
|
||||||
|
|
||||||
// ask the stream for position if we have a real one
|
// ask the stream for position if we have a real one
|
||||||
if ( m_stream )
|
if ( m_stream )
|
||||||
@@ -657,12 +657,12 @@ wxStreamBase::~wxStreamBase()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxStreamBase::OnSysSeek(off_t WXUNUSED(seek), wxSeekMode WXUNUSED(mode))
|
wxFileOffset wxStreamBase::OnSysSeek(wxFileOffset WXUNUSED(seek), wxSeekMode WXUNUSED(mode))
|
||||||
{
|
{
|
||||||
return wxInvalidOffset;
|
return wxInvalidOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxStreamBase::OnSysTell() const
|
wxFileOffset wxStreamBase::OnSysTell() const
|
||||||
{
|
{
|
||||||
return wxInvalidOffset;
|
return wxInvalidOffset;
|
||||||
}
|
}
|
||||||
@@ -853,7 +853,7 @@ wxInputStream& wxInputStream::Read(wxOutputStream& stream_out)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxInputStream::SeekI(off_t pos, wxSeekMode mode)
|
wxFileOffset wxInputStream::SeekI(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
// RR: This code is duplicated in wxBufferedInputStream. This is
|
// RR: This code is duplicated in wxBufferedInputStream. This is
|
||||||
// not really a good design, but buffered stream are different
|
// not really a good design, but buffered stream are different
|
||||||
@@ -887,9 +887,9 @@ off_t wxInputStream::SeekI(off_t pos, wxSeekMode mode)
|
|||||||
return OnSysSeek(pos, mode);
|
return OnSysSeek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxInputStream::TellI() const
|
wxFileOffset wxInputStream::TellI() const
|
||||||
{
|
{
|
||||||
off_t pos = OnSysTell();
|
wxFileOffset pos = OnSysTell();
|
||||||
|
|
||||||
if (pos != wxInvalidOffset)
|
if (pos != wxInvalidOffset)
|
||||||
pos -= (m_wbacksize - m_wbackcur);
|
pos -= (m_wbacksize - m_wbackcur);
|
||||||
@@ -933,12 +933,12 @@ wxOutputStream& wxOutputStream::Write(wxInputStream& stream_in)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxOutputStream::TellO() const
|
wxFileOffset wxOutputStream::TellO() const
|
||||||
{
|
{
|
||||||
return OnSysTell();
|
return OnSysTell();
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxOutputStream::SeekO(off_t pos, wxSeekMode mode)
|
wxFileOffset wxOutputStream::SeekO(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return OnSysSeek(pos, mode);
|
return OnSysSeek(pos, mode);
|
||||||
}
|
}
|
||||||
@@ -972,7 +972,7 @@ size_t wxCountingOutputStream::OnSysWrite(const void *WXUNUSED(buffer),
|
|||||||
return m_currentPos;
|
return m_currentPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxCountingOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxCountingOutputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
switch ( mode )
|
switch ( mode )
|
||||||
{
|
{
|
||||||
@@ -999,7 +999,7 @@ off_t wxCountingOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
|||||||
return m_currentPos;
|
return m_currentPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxCountingOutputStream::OnSysTell() const
|
wxFileOffset wxCountingOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_currentPos;
|
return m_currentPos;
|
||||||
}
|
}
|
||||||
@@ -1063,7 +1063,7 @@ wxBufferedInputStream::wxBufferedInputStream(wxInputStream& s,
|
|||||||
|
|
||||||
wxBufferedInputStream::~wxBufferedInputStream()
|
wxBufferedInputStream::~wxBufferedInputStream()
|
||||||
{
|
{
|
||||||
m_parent_i_stream->SeekI(-(off_t)m_i_streambuf->GetBytesLeft(),
|
m_parent_i_stream->SeekI(-(wxFileOffset)m_i_streambuf->GetBytesLeft(),
|
||||||
wxFromCurrent);
|
wxFromCurrent);
|
||||||
|
|
||||||
delete m_i_streambuf;
|
delete m_i_streambuf;
|
||||||
@@ -1100,7 +1100,7 @@ wxInputStream& wxBufferedInputStream::Read(void *buf, size_t size)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedInputStream::SeekI(off_t pos, wxSeekMode mode)
|
wxFileOffset wxBufferedInputStream::SeekI(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
// RR: Look at wxInputStream for comments.
|
// RR: Look at wxInputStream for comments.
|
||||||
|
|
||||||
@@ -1120,9 +1120,9 @@ off_t wxBufferedInputStream::SeekI(off_t pos, wxSeekMode mode)
|
|||||||
return m_i_streambuf->Seek(pos, mode);
|
return m_i_streambuf->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedInputStream::TellI() const
|
wxFileOffset wxBufferedInputStream::TellI() const
|
||||||
{
|
{
|
||||||
off_t pos = m_i_streambuf->Tell();
|
wxFileOffset pos = m_i_streambuf->Tell();
|
||||||
|
|
||||||
if (pos != wxInvalidOffset)
|
if (pos != wxInvalidOffset)
|
||||||
pos -= (m_wbacksize - m_wbackcur);
|
pos -= (m_wbacksize - m_wbackcur);
|
||||||
@@ -1135,12 +1135,12 @@ size_t wxBufferedInputStream::OnSysRead(void *buffer, size_t bufsize)
|
|||||||
return m_parent_i_stream->Read(buffer, bufsize).LastRead();
|
return m_parent_i_stream->Read(buffer, bufsize).LastRead();
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedInputStream::OnSysSeek(off_t seek, wxSeekMode mode)
|
wxFileOffset wxBufferedInputStream::OnSysSeek(wxFileOffset seek, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_parent_i_stream->SeekI(seek, mode);
|
return m_parent_i_stream->SeekI(seek, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedInputStream::OnSysTell() const
|
wxFileOffset wxBufferedInputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_parent_i_stream->TellI();
|
return m_parent_i_stream->TellI();
|
||||||
}
|
}
|
||||||
@@ -1186,13 +1186,13 @@ wxOutputStream& wxBufferedOutputStream::Write(const void *buffer, size_t size)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedOutputStream::SeekO(off_t pos, wxSeekMode mode)
|
wxFileOffset wxBufferedOutputStream::SeekO(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
Sync();
|
Sync();
|
||||||
return m_o_streambuf->Seek(pos, mode);
|
return m_o_streambuf->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedOutputStream::TellO() const
|
wxFileOffset wxBufferedOutputStream::TellO() const
|
||||||
{
|
{
|
||||||
return m_o_streambuf->Tell();
|
return m_o_streambuf->Tell();
|
||||||
}
|
}
|
||||||
@@ -1208,12 +1208,12 @@ size_t wxBufferedOutputStream::OnSysWrite(const void *buffer, size_t bufsize)
|
|||||||
return m_parent_o_stream->Write(buffer, bufsize).LastWrite();
|
return m_parent_o_stream->Write(buffer, bufsize).LastWrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedOutputStream::OnSysSeek(off_t seek, wxSeekMode mode)
|
wxFileOffset wxBufferedOutputStream::OnSysSeek(wxFileOffset seek, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_parent_o_stream->SeekO(seek, mode);
|
return m_parent_o_stream->SeekO(seek, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxBufferedOutputStream::OnSysTell() const
|
wxFileOffset wxBufferedOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_parent_o_stream->TellO();
|
return m_parent_o_stream->TellO();
|
||||||
}
|
}
|
||||||
|
@@ -69,7 +69,7 @@ size_t wxFileInputStream::GetSize() const
|
|||||||
|
|
||||||
size_t wxFileInputStream::OnSysRead(void *buffer, size_t size)
|
size_t wxFileInputStream::OnSysRead(void *buffer, size_t size)
|
||||||
{
|
{
|
||||||
off_t ret = m_file->Read(buffer, size);
|
wxFileOffset ret = m_file->Read(buffer, size);
|
||||||
|
|
||||||
// NB: we can't use a switch here because HP-UX CC doesn't allow
|
// NB: we can't use a switch here because HP-UX CC doesn't allow
|
||||||
// switching over long long (which off_t is in 64bit mode)
|
// switching over long long (which off_t is in 64bit mode)
|
||||||
@@ -93,12 +93,12 @@ size_t wxFileInputStream::OnSysRead(void *buffer, size_t size)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxFileInputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_file->Seek(pos, mode);
|
return m_file->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFileInputStream::OnSysTell() const
|
wxFileOffset wxFileInputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_file->Tell();
|
return m_file->Tell();
|
||||||
}
|
}
|
||||||
@@ -160,12 +160,12 @@ size_t wxFileOutputStream::OnSysWrite(const void *buffer, size_t size)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFileOutputStream::OnSysTell() const
|
wxFileOffset wxFileOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_file->Tell();
|
return m_file->Tell();
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFileOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxFileOutputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
return m_file->Seek(pos, mode);
|
return m_file->Seek(pos, mode);
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ size_t wxFFileInputStream::GetSize() const
|
|||||||
|
|
||||||
size_t wxFFileInputStream::OnSysRead(void *buffer, size_t size)
|
size_t wxFFileInputStream::OnSysRead(void *buffer, size_t size)
|
||||||
{
|
{
|
||||||
off_t ret;
|
wxFileOffset ret;
|
||||||
|
|
||||||
ret = m_file->Read(buffer, size);
|
ret = m_file->Read(buffer, size);
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ size_t wxFFileInputStream::OnSysRead(void *buffer, size_t size)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxFFileInputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
#ifdef __VMS
|
#ifdef __VMS
|
||||||
#pragma message disable intsignchange
|
#pragma message disable intsignchange
|
||||||
@@ -260,7 +260,7 @@ off_t wxFFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFFileInputStream::OnSysTell() const
|
wxFileOffset wxFFileInputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_file->Tell();
|
return m_file->Tell();
|
||||||
}
|
}
|
||||||
@@ -323,12 +323,12 @@ size_t wxFFileOutputStream::OnSysWrite(const void *buffer, size_t size)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFFileOutputStream::OnSysTell() const
|
wxFileOffset wxFFileOutputStream::OnSysTell() const
|
||||||
{
|
{
|
||||||
return m_file->Tell();
|
return m_file->Tell();
|
||||||
}
|
}
|
||||||
|
|
||||||
off_t wxFFileOutputStream::OnSysSeek(off_t pos, wxSeekMode mode)
|
wxFileOffset wxFFileOutputStream::OnSysSeek(wxFileOffset pos, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
#ifdef __VMS
|
#ifdef __VMS
|
||||||
#pragma message disable intsignchange
|
#pragma message disable intsignchange
|
||||||
|
@@ -77,19 +77,19 @@ wxZipInputStream::~wxZipInputStream()
|
|||||||
|
|
||||||
bool wxZipInputStream::Eof() const
|
bool wxZipInputStream::Eof() const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( m_Pos <= (off_t)m_Size,
|
wxASSERT_MSG( m_Pos <= (wxFileOffset)m_Size,
|
||||||
_T("wxZipInputStream: invalid current position") );
|
_T("wxZipInputStream: invalid current position") );
|
||||||
|
|
||||||
return m_Pos >= (off_t)m_Size;
|
return m_Pos >= (wxFileOffset)m_Size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t wxZipInputStream::OnSysRead(void *buffer, size_t bufsize)
|
size_t wxZipInputStream::OnSysRead(void *buffer, size_t bufsize)
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( m_Pos <= (off_t)m_Size,
|
wxASSERT_MSG( m_Pos <= (wxFileOffset)m_Size,
|
||||||
_T("wxZipInputStream: invalid current position") );
|
_T("wxZipInputStream: invalid current position") );
|
||||||
|
|
||||||
if ( m_Pos >= (off_t)m_Size )
|
if ( m_Pos >= (wxFileOffset)m_Size )
|
||||||
{
|
{
|
||||||
m_lasterror = wxSTREAM_EOF;
|
m_lasterror = wxSTREAM_EOF;
|
||||||
return 0;
|
return 0;
|
||||||
@@ -106,14 +106,14 @@ size_t wxZipInputStream::OnSysRead(void *buffer, size_t bufsize)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
off_t wxZipInputStream::OnSysSeek(off_t seek, wxSeekMode mode)
|
wxFileOffset wxZipInputStream::OnSysSeek(wxFileOffset seek, wxSeekMode mode)
|
||||||
{
|
{
|
||||||
// NB: since ZIP files don't natively support seeking, we have to
|
// NB: since ZIP files don't natively support seeking, we have to
|
||||||
// implement a brute force workaround -- reading all the data
|
// implement a brute force workaround -- reading all the data
|
||||||
// between current and the new position (or between beginning of
|
// between current and the new position (or between beginning of
|
||||||
// the file and new position...)
|
// the file and new position...)
|
||||||
|
|
||||||
off_t nextpos;
|
wxFileOffset nextpos;
|
||||||
|
|
||||||
switch ( mode )
|
switch ( mode )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user