]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sstream.cpp
don't pass 0 time_t to Borland localtime(), it crashes (bug 1704438); also check...
[wxWidgets.git] / src / common / sstream.cpp
index 0e783fb64084a58a34148630fd88d2cf7ca47e37..a16ea1b24a1dfe123ebd63e288619fc07fb0144e 100644 (file)
@@ -42,7 +42,7 @@ wxStringInputStream::wxStringInputStream(const wxString& s)
 #if wxUSE_UNICODE
     : m_str(s), m_buf(wxMBConvUTF8().cWX2MB(s).release()), m_len(strlen(m_buf))
 #else
-    : m_str(s), m_buf((char*)s.c_str()), m_len(s.length())
+    : m_str(s), m_buf((char*)(const char*)s.c_str()), m_len(s.length())
 #endif
 {
 #if wxUSE_UNICODE
@@ -93,10 +93,11 @@ wxFileOffset wxStringInputStream::OnSysSeek(wxFileOffset ofs, wxSeekMode mode)
             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;
 
-    m_pos = wx_static_cast(size_t, ofs);
+    // FIXME: this can't be right
+    m_pos = wx_truncate_cast(size_t, ofs);
 
     return ofs;
 }