]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/datstrm.cpp
Applied patch [ 1192917 ] Grids with no row or col headers cause AV under wxGTK
[wxWidgets.git] / src / common / datstrm.cpp
index a2c2aa55da11a219451039603fe6c325e2ac6050..b661775598c3c8297cd56b1e5f793730c247c473 100644 (file)
@@ -6,10 +6,10 @@
 // Created:     28/06/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Guilhem Lavaux
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "datstrm.h"
 #endif
 
 
 #if wxUSE_UNICODE
 wxDataInputStream::wxDataInputStream(wxInputStream& s, wxMBConv& conv)
-  : m_input(&s), m_be_order(FALSE), m_conv(conv)
+  : m_input(&s), m_be_order(false), m_conv(conv)
 #else
 wxDataInputStream::wxDataInputStream(wxInputStream& s)
-  : m_input(&s), m_be_order(FALSE)
+  : m_input(&s), m_be_order(false)
 #endif
 {
 }
 
-wxDataInputStream::~wxDataInputStream()
-{
-}
-
 wxUint64 wxDataInputStream::Read64()
 {
   wxUint64 i64;
@@ -110,15 +106,13 @@ wxString wxDataInputStream::ReadString()
   if (len > 0)
   {
 #if wxUSE_UNICODE
-    char *tmp = new char[len + 1];
-    m_input->Read(tmp, len);
-    tmp[len] = 0;
-    wxString ret( (const wxChar*) m_conv.cMB2WX(tmp) );
-    delete[] tmp;
+    wxCharBuffer tmp(len + 1);
+    m_input->Read(tmp.data(), len);
+    tmp.data()[len] = '\0';
+    wxString ret(m_conv.cMB2WX(tmp.data()));
 #else
     wxString ret;
-    m_input->Read( ret.GetWriteBuf(len), len);
-    ret.UngetWriteBuf();
+    m_input->Read( wxStringBuffer(ret, len), len);
 #endif
     return ret;
   }
@@ -271,18 +265,14 @@ wxDataInputStream& wxDataInputStream::operator>>(float& f)
 
 #if wxUSE_UNICODE
 wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, wxMBConv& conv)
-  : m_output(&s), m_be_order(FALSE), m_conv(conv)
+  : m_output(&s), m_be_order(false), m_conv(conv)
 #else
 wxDataOutputStream::wxDataOutputStream(wxOutputStream& s)
-  : m_output(&s), m_be_order(FALSE)
+  : m_output(&s), m_be_order(false)
 #endif
 {
 }
 
-wxDataOutputStream::~wxDataOutputStream()
-{
-}
-
 void wxDataOutputStream::Write64(wxUint64 i)
 {
   wxUint64 i64;
@@ -345,7 +335,7 @@ void wxDataOutputStream::WriteDouble(double d)
 #if wxUSE_APPLE_IEEE
   ConvertToIeeeExtended(d, (unsigned char *)buf);
 #else
-#ifndef __VMS__
+#if !defined(__VMS__) && !defined(__GNUG__)
 # pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!"
 #endif
    buf[0] = '\0';