X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/216a72f3b9ab2bf72f489aceac0093138a6e7707..1a8e8d694bdcaec228f59a55f2aca1dfea0679db:/src/common/datstrm.cpp?ds=sidebyside diff --git a/src/common/datstrm.cpp b/src/common/datstrm.cpp index 656b628b35..40e10fe09c 100644 --- a/src/common/datstrm.cpp +++ b/src/common/datstrm.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: datstrm.cpp +// Name: src/common/datstrm.cpp // Purpose: Data stream classes // Author: Guilhem Lavaux // Modified by: Mickael Gilabert @@ -19,15 +19,18 @@ #if wxUSE_STREAMS #include "wx/datstrm.h" -#include "wx/math.h" + +#ifndef WX_PRECOMP + #include "wx/math.h" +#endif //WX_PRECOMP // --------------------------------------------------------------------------- // wxDataInputStream // --------------------------------------------------------------------------- #if wxUSE_UNICODE -wxDataInputStream::wxDataInputStream(wxInputStream& s, wxMBConv& conv) - : m_input(&s), m_be_order(false), m_conv(conv) +wxDataInputStream::wxDataInputStream(wxInputStream& s, const wxMBConv& conv) + : m_input(&s), m_be_order(false), m_conv(conv.Clone()) #else wxDataInputStream::wxDataInputStream(wxInputStream& s) : m_input(&s), m_be_order(false) @@ -35,6 +38,13 @@ wxDataInputStream::wxDataInputStream(wxInputStream& s) { } +wxDataInputStream::~wxDataInputStream() +{ +#if wxUSE_UNICODE + delete m_conv; +#endif // wxUSE_UNICODE +} + #if wxHAS_INT64 wxUint64 wxDataInputStream::Read64() { @@ -82,7 +92,7 @@ double wxDataInputStream::ReadDouble() char buf[10]; m_input->Read(buf, 10); - return ConvertFromIeeeExtended((const wxInt8 *)buf); + return wxConvertFromIeeeExtended((const wxInt8 *)buf); #else return 0.0; #endif @@ -100,7 +110,7 @@ wxString wxDataInputStream::ReadString() wxCharBuffer tmp(len + 1); m_input->Read(tmp.data(), len); tmp.data()[len] = '\0'; - wxString ret(m_conv.cMB2WX(tmp.data())); + wxString ret(m_conv->cMB2WX(tmp.data())); #else wxString ret; m_input->Read( wxStringBuffer(ret, len), len); @@ -296,7 +306,7 @@ void wxDataInputStream::ReadLL(wxLongLong *buffer, size_t size) wxLongLong wxDataInputStream::ReadLL(void) { wxLongLong ll; - DoReadLL(&ll, 1, m_input, m_be_order); + DoReadLL(&ll, (size_t)1, m_input, m_be_order); return ll; } #endif // wxUSE_LONGLONG @@ -445,8 +455,8 @@ wxDataInputStream& wxDataInputStream::operator>>(float& f) // --------------------------------------------------------------------------- #if wxUSE_UNICODE -wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, wxMBConv& conv) - : m_output(&s), m_be_order(false), m_conv(conv) +wxDataOutputStream::wxDataOutputStream(wxOutputStream& s, const wxMBConv& conv) + : m_output(&s), m_be_order(false), m_conv(conv.Clone()) #else wxDataOutputStream::wxDataOutputStream(wxOutputStream& s) : m_output(&s), m_be_order(false) @@ -454,6 +464,13 @@ wxDataOutputStream::wxDataOutputStream(wxOutputStream& s) { } +wxDataOutputStream::~wxDataOutputStream() +{ +#if wxUSE_UNICODE + delete m_conv; +#endif // wxUSE_UNICODE +} + #if wxHAS_INT64 void wxDataOutputStream::Write64(wxUint64 i) { @@ -497,7 +514,7 @@ void wxDataOutputStream::Write8(wxUint8 i) void wxDataOutputStream::WriteString(const wxString& string) { #if wxUSE_UNICODE - const wxWX2MBbuf buf = string.mb_str(m_conv); + const wxWX2MBbuf buf = string.mb_str(*m_conv); #else const wxWX2MBbuf buf = string.mb_str(); #endif @@ -512,7 +529,7 @@ void wxDataOutputStream::WriteDouble(double d) char buf[10]; #if wxUSE_APPLE_IEEE - ConvertToIeeeExtended(d, (wxInt8 *)buf); + wxConvertToIeeeExtended(d, (wxInt8 *)buf); #else #if !defined(__VMS__) && !defined(__GNUG__) # pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!" @@ -633,13 +650,6 @@ void wxDataOutputStream::WriteDouble(const double *buffer, size_t size) } } -wxDataOutputStream& wxDataOutputStream::operator<<(const wxChar *string) -{ - Write32(wxStrlen(string)); - m_output->Write((const char *)string, wxStrlen(string)*sizeof(wxChar)); - return *this; -} - wxDataOutputStream& wxDataOutputStream::operator<<(const wxString& string) { WriteString(string); @@ -724,4 +734,3 @@ wxDataOutputStream& wxDataOutputStream::operator<<(float f) #endif // wxUSE_STREAMS -