X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8650108199bf799f21e29811cddaefd579c98c88..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/common/sstream.cpp diff --git a/src/common/sstream.cpp b/src/common/sstream.cpp index 7d276e665b..14c7dca8a2 100644 --- a/src/common/sstream.cpp +++ b/src/common/sstream.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: common/sstream.cpp +// Name: src/common/sstream.cpp // Purpose: string-based streams implementation // Author: Vadim Zeitlin // Modified by: Ryan Norton (UTF8 UNICODE) @@ -37,7 +37,7 @@ // ---------------------------------------------------------------------------- // TODO: Do we want to include the null char in the stream? If so then -// just add +1 to m_len in the ctor +// just add +1 to m_len in the ctor wxStringInputStream::wxStringInputStream(const wxString& s) #if wxUSE_UNICODE // FIXME-UTF8: use wxCharBufferWithLength if we have it @@ -47,7 +47,7 @@ wxStringInputStream::wxStringInputStream(const wxString& s) #endif { #if wxUSE_UNICODE - wxASSERT_MSG(m_buf.data() != NULL, _T("Could not convert string to UTF8!")); + wxASSERT_MSG(m_buf.data() != NULL, wxT("Could not convert string to UTF8!")); #endif m_pos = 0; } @@ -56,9 +56,9 @@ wxStringInputStream::wxStringInputStream(const wxString& s) // getlength // ---------------------------------------------------------------------------- -wxFileOffset wxStringInputStream::GetLength() const -{ - return m_len; +wxFileOffset wxStringInputStream::GetLength() const +{ + return m_len; } // ---------------------------------------------------------------------------- @@ -82,11 +82,11 @@ wxFileOffset wxStringInputStream::OnSysSeek(wxFileOffset ofs, wxSeekMode mode) break; default: - wxFAIL_MSG( _T("invalid seek mode") ); + wxFAIL_MSG( wxT("invalid seek mode") ); return wxInvalidOffset; } - if ( ofs < 0 || ofs > wx_static_cast(wxFileOffset, m_len) ) + if ( ofs < 0 || ofs > static_cast(m_len) ) return wxInvalidOffset; // FIXME: this can't be right @@ -97,7 +97,7 @@ wxFileOffset wxStringInputStream::OnSysSeek(wxFileOffset ofs, wxSeekMode mode) wxFileOffset wxStringInputStream::OnSysTell() const { - return wx_static_cast(wxFileOffset, m_pos); + return static_cast(m_pos); } // ---------------------------------------------------------------------------- @@ -135,7 +135,7 @@ size_t wxStringInputStream::OnSysRead(void *buffer, size_t size) wxFileOffset wxStringOutputStream::OnSysTell() const { - return wx_static_cast(wxFileOffset, m_pos); + return static_cast(m_pos); } // ---------------------------------------------------------------------------- @@ -144,9 +144,9 @@ wxFileOffset wxStringOutputStream::OnSysTell() const size_t wxStringOutputStream::OnSysWrite(const void *buffer, size_t size) { - const char *p = wx_static_cast(const char *, buffer); + const char *p = static_cast(buffer); -#if wxUSE_UNICODE_WCHAR +#if wxUSE_UNICODE // the part of the string we have here may be incomplete, i.e. it can stop // in the middle of an UTF-8 character and so converting it would fail; if // this is the case, accumulate the part which we failed to convert until @@ -167,13 +167,14 @@ size_t wxStringOutputStream::OnSysWrite(const void *buffer, size_t size) srcLen = size; } - wxWCharBuffer wbuf(m_conv.cMB2WC(src, srcLen, NULL /* out len */)); + size_t wlen; + wxWCharBuffer wbuf(m_conv.cMB2WC(src, srcLen, &wlen)); if ( wbuf ) { // conversion succeeded, clear the unconverted buffer m_unconv = wxMemoryBuffer(0); - *m_str += wbuf; + m_str->append(wbuf, wlen); } else // conversion failed { @@ -187,11 +188,10 @@ size_t wxStringOutputStream::OnSysWrite(const void *buffer, size_t size) // not update m_pos as m_str hasn't changed return size; } -#else // !wxUSE_UNICODE_WCHAR - // no recoding necessary, the data is supposed to already be in UTF-8 (if - // supported) or ASCII otherwise +#else // !wxUSE_UNICODE + // no recoding necessary m_str->append(p, size); -#endif // wxUSE_UNICODE_WCHAR/!wxUSE_UNICODE_WCHAR +#endif // wxUSE_UNICODE/!wxUSE_UNICODE // update position m_pos += size;