]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileconf.cpp
ambiguous operator[] access
[wxWidgets.git] / src / common / fileconf.cpp
index 6423bbe8e9e72128523896e77f5759144f3aec41..071b90f243423f33a7478da46acdfd8945410338 100644 (file)
@@ -494,10 +494,21 @@ wxFileConfig::wxFileConfig(wxInputStream &inStream, wxMBConv& conv)
         wxString strTmp;
 
         char buf[1024];
-        while ( !inStream.Read(buf, WXSIZEOF(buf)).Eof() )
-            strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
+        do
+        {
+            inStream.Read(buf, WXSIZEOF(buf));
+
+            const wxStreamError err = inStream.GetLastError();
+
+            if ( err != wxSTREAM_NO_ERROR && err != wxSTREAM_EOF )
+            {
+                wxLogError(_("Error reading config options."));
+                break;
+            }
 
-        strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
+            strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
+        }
+        while ( !inStream.Eof() );
 
         strTrans = wxTextBuffer::Translate(strTmp);
     }