X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/937d4f4d3162ca4e66a8707442763e7172749445..63fec618dcf7313de03a6912b9e0d3f5c5c6535a:/src/common/config.cpp?ds=inline diff --git a/src/common/config.cpp b/src/common/config.cpp index 9eae6aafa1..d2cc81d6c1 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -2,10 +2,10 @@ // Name: config.cpp // Purpose: implementation of wxConfig class // Author: Vadim Zeitlin -// Modified by: +// Modified by: // Created: 07.04.98 // RCS-ID: $Id$ -// Copyright: (c) 1997 Karsten Ballüder Ballueder@usa.net +// Copyright: (c) 1997 Karsten Ballüder Ballueder@usa.net // Vadim Zeitlin // Licence: wxWindows license /////////////////////////////////////////////////////////////////////////////// @@ -38,6 +38,7 @@ #include #include #include +#include #include // for isalnum() @@ -124,18 +125,19 @@ wxConfig::PathChanger::~PathChanger() // 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. -wxString ExpandEnvVars(const wxString& str) +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_None, + Bracket_Normal = ')', Bracket_Curly = '}', -#ifdef __WINDOWS__ +#ifdef __WXMSW__ Bracket_Windows = '%' // yeah, Windows people are a bit strange ;-) #endif }; @@ -143,13 +145,13 @@ wxString ExpandEnvVars(const wxString& str) uint m; for ( uint n = 0; n < str.Len(); n++ ) { switch ( str[n] ) { -#ifdef __WINDOWS__ +#ifdef __WXMSW__ case '%': #endif //WINDOWS case '$': { Bracket bracket; - #ifdef __WINDOWS__ + #ifdef __WXMSW__ if ( str[n] == '%' ) bracket = Bracket_Windows; else @@ -159,8 +161,8 @@ wxString ExpandEnvVars(const wxString& str) } else { switch ( str[n + 1] ) { - case '(': - bracket = Bracket_Normal; + case '(': + bracket = Bracket_Normal; n++; // skip the bracket break; @@ -187,7 +189,7 @@ wxString ExpandEnvVars(const wxString& str) } else { // variable doesn't exist => don't change anything - #ifdef __WINDOWS__ + #ifdef __WXMSW__ if ( bracket != Bracket_Windows ) #endif if ( bracket != Bracket_None ) @@ -198,7 +200,7 @@ wxString ExpandEnvVars(const wxString& str) // check the closing bracket if ( bracket != Bracket_None ) { if ( m == str.Len() || str[m] != (char)bracket ) { - wxLogWarning("missing '%c' at position %d in '%s'.", + wxLogWarning(_("missing '%c' at position %d in '%s'."), (char)bracket, m + 1, str.c_str()); } else { @@ -213,10 +215,6 @@ wxString ExpandEnvVars(const wxString& str) } break; - case '\\': - n++; - // fall through - default: strResult += str[n]; } @@ -226,7 +224,7 @@ wxString ExpandEnvVars(const wxString& str) } // this function is used to properly interpret '..' in path -void SplitPath(wxArrayString& aParts, const char *sz) +void wxSplitPath(wxArrayString& aParts, const char *sz) { aParts.Empty(); @@ -240,7 +238,7 @@ void SplitPath(wxArrayString& aParts, const char *sz) else if ( strCurrent == ".." ) { // go up one level if ( aParts.IsEmpty() ) - wxLogWarning("'%s' has extra '..', ignored.", sz); + wxLogWarning(_("'%s' has extra '..', ignored."), sz); else aParts.Remove(aParts.Count() - 1);