]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/config.cpp
common code of wxFrame class
[wxWidgets.git] / src / common / config.cpp
index 9eae6aafa1374e1f773c1ef89b935b81c84d35f5..d2cc81d6c1e92d037d590781c531e13ddc3186ac 100644 (file)
@@ -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      <zeitlin@dptmaths.ens-cachan.fr>
 // Licence:     wxWindows license
 ///////////////////////////////////////////////////////////////////////////////
@@ -38,6 +38,7 @@
 #include  <wx/textfile.h>
 #include  <wx/config.h>
 #include  <wx/fileconf.h>
+#include <stdlib.h>
 
 #include  <ctype.h>       // 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);