don't process previously read characters twice in OnRead()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-03-30 14:04:46 +00:00
parent ca3e85cfa8
commit c1981a2fa4

View File

@@ -116,6 +116,10 @@ bool wxTextFile::OnRead(wxMBConv& conv)
if ( nRead == 0 )
break;
// save the number characters which we already processed during the
// last loop iteration
const size_t lenOld = str.length();
#if wxUSE_UNICODE
// we have to properly NUL-terminate the string for any encoding it may
// use -- 4 NULs should be enough for everyone (this is why we add 4
@@ -144,7 +148,7 @@ bool wxTextFile::OnRead(wxMBConv& conv)
// the beginning of the current line, changes inside the loop
wxString::const_iterator lineStart = str.begin();
const wxString::const_iterator end = str.end();
for ( wxString::const_iterator p = lineStart; p != end; p++ )
for ( wxString::const_iterator p = lineStart + lenOld; p != end; p++ )
{
const wxChar ch = *p;
switch ( ch )