]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileconf.cpp
some != NULL checks
[wxWidgets.git] / src / common / fileconf.cpp
index 49f612750062956e0ae9097c1c3ae6d99388c741..d9ab373bdb55eeba77926270031820671039b20d 100644 (file)
@@ -49,9 +49,6 @@
 #if defined(__WXPM__)
   #define INCL_DOS
   #include <os2.h>
 #if defined(__WXPM__)
   #define INCL_DOS
   #include <os2.h>
-  #define LINKAGEMODE _Optlink
-#else
-  #define LINKAGEMODE
 #endif
 
 #include  <stdlib.h>
 #endif
 
 #include  <stdlib.h>
@@ -472,11 +469,15 @@ void wxFileConfig::Parse(wxTextFile& file, bool bLocal)
     }
     else {                        // a key
       const wxChar *pEnd = pStart;
     }
     else {                        // a key
       const wxChar *pEnd = pStart;
-      while ( *pEnd != wxT('=') && !wxIsspace(*pEnd) ) {
+      while ( *pEnd && *pEnd != wxT('=') && !wxIsspace(*pEnd) ) {
         if ( *pEnd == wxT('\\') ) {
           // next character may be space or not - still take it because it's
         if ( *pEnd == wxT('\\') ) {
           // next character may be space or not - still take it because it's
-          // quoted
+          // quoted (unless there is nothing)
           pEnd++;
           pEnd++;
+          if ( !*pEnd ) {
+            // the error message will be given below anyhow
+            break;
+          }
         }
 
         pEnd++;
         }
 
         pEnd++;
@@ -764,7 +765,7 @@ bool wxFileConfig::Write(const wxString& key, long lValue)
 
 bool wxFileConfig::Flush(bool /* bCurrentOnly */)
 {
 
 bool wxFileConfig::Flush(bool /* bCurrentOnly */)
 {
-  if ( LineListIsEmpty() || !m_pRootGroup->IsDirty() )
+  if ( LineListIsEmpty() || !m_pRootGroup->IsDirty() || !m_strLocalFile )
     return TRUE;
 
   wxTempFile file(m_strLocalFile);
     return TRUE;
 
   wxTempFile file(m_strLocalFile);