wxString wxDataInputStream::ReadString()
{
- size_t len;
-
- len = Read32();
+ wxString ret;
- if (len > 0)
- {
+ const size_t len = Read32();
+ if ( len > 0 )
+ {
#if wxUSE_UNICODE
- wxCharBuffer tmp(len + 1);
- m_input->Read(tmp.data(), len);
- tmp.data()[len] = '\0';
- wxString ret(m_conv->cMB2WX(tmp.data()));
+ wxCharBuffer tmp(len + 1);
+ if ( tmp )
+ {
+ m_input->Read(tmp.data(), len);
+ tmp.data()[len] = '\0';
+ ret = m_conv->cMB2WX(tmp.data());
+ }
#else
- wxString ret;
- m_input->Read( wxStringBuffer(ret, len), len);
+ wxStringBuffer buf(ret, len);
+ if ( buf )
+ m_input->Read(buf, len);
#endif
+ }
+
return ret;
- }
- else
- return wxEmptyString;
}
#if wxUSE_LONGLONG