]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sstream.cpp
Might aswell show the compile- and runtime versions of GTK+ in the ctrl+alt+mclick...
[wxWidgets.git] / src / common / sstream.cpp
index 4228a8a19e31fd5d0966c98151eba29a4dda3864..8033dff28c97ced7ec0777d2b3843c0948b74f62 100644 (file)
@@ -36,7 +36,9 @@
 // construction/destruction
 // ----------------------------------------------------------------------------
 
 // construction/destruction
 // ----------------------------------------------------------------------------
 
-wxStringInputStream::wxStringInputStream(const wxString& s)
+// TODO:  Do we want to include the null char in the stream?  If so then
+// just add +1 to m_len in the ctor 
+wxStringInputStream::wxStringInputStream(const wxString& s) 
 #if wxUSE_UNICODE
     : m_str(s), m_buf(wxMBConvUTF8().cWX2MB(s).release()), m_len(strlen(m_buf))
 #else
 #if wxUSE_UNICODE
     : m_str(s), m_buf(wxMBConvUTF8().cWX2MB(s).release()), m_len(strlen(m_buf))
 #else
@@ -91,10 +93,11 @@ wxFileOffset wxStringInputStream::OnSysSeek(wxFileOffset ofs, wxSeekMode mode)
             return wxInvalidOffset;
     }
 
             return wxInvalidOffset;
     }
 
-    if ( ofs < 0 || wx_static_cast(size_t, ofs) >= m_len )
+    if ( ofs < 0 || ofs > wx_static_cast(wxFileOffset, m_len) )
         return wxInvalidOffset;
 
         return wxInvalidOffset;
 
-    m_pos = wx_static_cast(size_t, ofs);
+    // FIXME: this can't be right
+    m_pos = wx_truncate_cast(size_t, ofs);
 
     return ofs;
 }
 
     return ofs;
 }
@@ -154,9 +157,10 @@ size_t wxStringOutputStream::OnSysWrite(const void *buffer, size_t size)
     // the literal length
     m_str->Append(wxString(p, m_conv, size));
 
     // the literal length
     m_str->Append(wxString(p, m_conv, size));
 
-    // return number of bytes actually written
+    // update position
     m_pos += size;
 
     m_pos += size;
 
+    // return number of bytes actually written
     return size;
 }
 
     return size;
 }