- return (m_buffer != NULL);
-}
-
-// ----------------------------------------------------------------------------
-// wxMemoryInputStream
-// ----------------------------------------------------------------------------
-
-wxMemoryInputStream::wxMemoryInputStream(const char *data, size_t len)
-{
- m_persistent = TRUE;
- m_length = len;
- m_buffer = (char *)data; // It's bad.
- m_position_i = 0;
- m_lastread = 0;
- m_eof = FALSE;
- m_iolimit = 1;
-
- m_i_streambuf->SetBufferIO(0);
+ m_i_streambuf = new wxStreamBuffer(wxStreamBuffer::read);
+ m_i_streambuf->SetBufferIO(len); // create buffer
+ stream.CopyTo(m_i_streambuf->GetBufferStart(), len);
+ m_i_streambuf->SetIntPosition(0); // seek to start pos
+ m_i_streambuf->Fixed(true);
+ m_length = len;