]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/regconf.cpp
minor additions to wxCmdLineParser tests
[wxWidgets.git] / src / msw / regconf.cpp
index 5d8d70f97a357bad62dab6b2dc9641fcac10af7f..07fcf8201b4224871c55944a7404c7880c487d19 100644 (file)
@@ -274,6 +274,7 @@ void wxRegConfig::SetPath(const wxString& strPath)
                             // check the boundary condition below
 
                             // this is more efficient than strrchr()
                             // check the boundary condition below
 
                             // this is more efficient than strrchr()
+                            dst--;
                             while ( *dst != wxCONFIG_PATH_SEPARATOR )
                             {
                                 dst--;
                             while ( *dst != wxCONFIG_PATH_SEPARATOR )
                             {
                                 dst--;
@@ -288,10 +289,13 @@ void wxRegConfig::SetPath(const wxString& strPath)
                             posLastSlash = -1;
                         }
 
                             posLastSlash = -1;
                         }
 
-                        // this shouldn't happen
+                        // we must have found a slash one way or another!
                         wxASSERT_MSG( *dst == wxCONFIG_PATH_SEPARATOR,
                                       _T("error in wxRegConfig::SetPath") );
 
                         wxASSERT_MSG( *dst == wxCONFIG_PATH_SEPARATOR,
                                       _T("error in wxRegConfig::SetPath") );
 
+                        // stay at the same position
+                        dst--;
+
                         // we killed one
                         totalSlashes--;
                     }
                         // we killed one
                         totalSlashes--;
                     }
@@ -309,8 +313,12 @@ void wxRegConfig::SetPath(const wxString& strPath)
 
                         totalSlashes++;
                     }
 
                         totalSlashes++;
                     }
-                    //else: nothing to do, we squeeze several subseuquent
-                    //      slashes into one
+                    else // previous char was a slash too
+                    {
+                        // squeeze several subsequent slashes into one: i.e.
+                        // just ignore this one
+                        dst--;
+                    }
                 }
             }
             else // normal character
                 }
             }
             else // normal character