]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/datstrm.cpp
added wxUmaskChanger class and wxCHANGE_UMASK macro and use them instead of duplicati...
[wxWidgets.git] / src / common / datstrm.cpp
index a2c2aa55da11a219451039603fe6c325e2ac6050..f64aafbbba60681053abb30db5ecd2c2f6e71de1 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
 {
 }
@@ -110,15 +110,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,10 +269,10 @@ 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
 {
 }