]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/stream.cpp
standard icons for msg boxes
[wxWidgets.git] / src / common / stream.cpp
index 305c8c51289c527f8ed04f7ec525380d9fe69f4d..cc38a5022b311ecb3afb240f3b2e4c87b50174b0 100644 (file)
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+  #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+  #include "wx/defs.h"
+#endif
+
+#if wxUSE_STREAMS
+
 #include <ctype.h>
 #include <wx/stream.h>
 #include <wx/datstrm.h>
 #include <wx/objstrm.h>
 
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
 #define BUF_TEMP_SIZE 10000
 
 // ----------------------------------------------------------------------------
@@ -340,7 +347,7 @@ size_t wxStreamBuffer::Read(wxStreamBuffer *s_buf)
   if (m_mode == write)
     return 0;
 
-  while (bytes_read == BUF_TEMP_SIZE) {
+  while (bytes_read != 0) {
     bytes_read = Read(buf, bytes_read);
     bytes_read = s_buf->Write(buf, bytes_read);
     s += bytes_read;
@@ -752,7 +759,12 @@ wxOutputStream& wxOutputStream::operator<<(const char *string)
 
 wxOutputStream& wxOutputStream::operator<<(wxString& string)
 {
+#if wxUSE_UNICODE
+  const wxWX2MBbuf buf = string.mb_str();
+  return *this << buf;
+#else
   return Write(string, string.Len());
+#endif
 }
 
 wxOutputStream& wxOutputStream::operator<<(char c)
@@ -764,32 +776,32 @@ wxOutputStream& wxOutputStream::operator<<(short i)
 {
   wxString strint;
 
-  strint.Printf("%i", i);
-  return Write(strint, strint.Len());
+  strint.Printf(_T("%i"), i);
+  return *this << strint;
 }
 
 wxOutputStream& wxOutputStream::operator<<(int i)
 {
   wxString strint;
 
-  strint.Printf("%i", i);
-  return Write(strint, strint.Len());
+  strint.Printf(_T("%i"), i);
+  return *this << strint;
 }
 
 wxOutputStream& wxOutputStream::operator<<(long i)
 {
   wxString strlong;
 
-  strlong.Printf("%i", i);
-  return Write((const char *)strlong, strlong.Len());
+  strlong.Printf(_T("%i"), i);
+  return *this << strlong;
 }
 
 wxOutputStream& wxOutputStream::operator<<(double f)
 {
   wxString strfloat;
 
-  strfloat.Printf("%f", f);
-  return Write(strfloat, strfloat.Len());
+  strfloat.Printf(_T("%f"), f);
+  return *this << strfloat;
 }
 
 #if wxUSE_SERIAL
@@ -850,3 +862,6 @@ wxOutputStream& wxEndL(wxOutputStream& stream)
   return stream.Write("\n", 1);
 #endif
 }
+
+#endif
+  // wxUSE_STREAMS