///////////////////////////////////////////////////////////////////////////////
-// Name: config.cpp
+// Name: src/common/config.cpp
// Purpose: implementation of wxConfigBase class
// Author: Vadim Zeitlin
// Modified by:
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "confbase.h"
-#endif
#include "wx/wxprec.h"
-#ifdef __BORLANDC__
- #pragma hdrstop
+#ifdef __BORLANDC__
+ #pragma hdrstop
#endif //__BORLANDC__
#ifndef wxUSE_CONFIG_NATIVE
#endif
#include "wx/config.h"
-#include "wx/intl.h"
-#include "wx/log.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/intl.h"
+ #include "wx/log.h"
+ #include "wx/app.h"
+#endif //WX_PRECOMP
+
#include "wx/arrstr.h"
#if wxUSE_CONFIG && ((wxUSE_FILE && wxUSE_TEXTFILE) || wxUSE_CONFIG_NATIVE)
-#include "wx/app.h"
#include "wx/file.h"
-#include "wx/textfile.h"
-#include "wx/utils.h"
#include "wx/utils.h"
#include "wx/math.h"
// ----------------------------------------------------------------------------
wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase *pContainer,
- const wxString& strEntry)
+ const wxString& strEntry)
{
+ m_bChanged = false;
m_pContainer = (wxConfigBase *)pContainer;
// the path is everything which precedes the last slash
{
if ( m_pContainer->GetPath() != strPath )
{
- // do change the path
+ // we do change the path so restore it later
m_bChanged = true;
/* JACS: work around a memory bug that causes an assert
}
else {
// it's a name only, without path - nothing to do
- m_bChanged = false;
m_strName = strEntry;
}
}
// understands both Unix and Windows (but only under Windows) environment
// variables expansion: i.e. $var, $(var) and ${var} are always understood
// and in addition under Windows %var% is also.
+
+// don't change the values the enum elements: they must be equal
+// to the matching [closing] delimiter.
+enum Bracket
+{
+ Bracket_None,
+ Bracket_Normal = ')',
+ Bracket_Curly = '}',
+#ifdef __WXMSW__
+ Bracket_Windows = '%', // yeah, Windows people are a bit strange ;-)
+#endif
+ Bracket_Max
+};
+
wxString wxExpandEnvVars(const wxString& str)
{
wxString strResult;
strResult.Alloc(str.Len());
- // don't change the values the enum elements: they must be equal
- // to the matching [closing] delimiter.
- enum Bracket
- {
- Bracket_None,
- Bracket_Normal = ')',
- Bracket_Curly = '}',
-#ifdef __WXMSW__
- Bracket_Windows = '%', // yeah, Windows people are a bit strange ;-)
-#endif
- Bracket_Max
- };
-
size_t m;
for ( size_t n = 0; n < str.Len(); n++ ) {
switch ( str[n] ) {
pc++;
}
}
-
-