const wxString& strEntry)
{
m_pContainer = (wxConfigBase *)pContainer;
- wxString strPath = strEntry.Before(wxCONFIG_PATH_SEPARATOR);
- // special case of "/keyname" when there is nothing before "/"
- if ( strPath.IsEmpty() && ((!strEntry.IsEmpty()) && strEntry[0] == wxCONFIG_PATH_SEPARATOR ))
+ // the path is everything which precedes the last slash
+ wxString strPath = strEntry.BeforeLast(wxCONFIG_PATH_SEPARATOR);
+
+ // except in the special case of "/keyname" when there is nothing before "/"
+ if ( strPath.IsEmpty() &&
+ ((!strEntry.IsEmpty()) && strEntry[0] == wxCONFIG_PATH_SEPARATOR) )
+ {
strPath = wxCONFIG_PATH_SEPARATOR;
+ }
if ( !strPath.IsEmpty() ) {
// do change the path
m_bChanged = TRUE;
- m_strName = strEntry.Right(wxCONFIG_PATH_SEPARATOR);
+ m_strName = strEntry.AfterLast(wxCONFIG_PATH_SEPARATOR);
m_strOldPath = m_pContainer->GetPath();
m_strOldPath += wxCONFIG_PATH_SEPARATOR;
m_pContainer->SetPath(strPath);
{
Bracket_None,
Bracket_Normal = ')',
- Bracket_Curly = '}',
+ Bracket_Curly = '}'
#ifdef __WXMSW__
- Bracket_Windows = '%' // yeah, Windows people are a bit strange ;-)
+ ,Bracket_Windows = '%' // yeah, Windows people are a bit strange ;-)
#endif
};
#endif
// wxUSE_CONFIG
-
-
\ No newline at end of file
+