]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fileconf.cpp
fixed crash in iconv_close() as well
[wxWidgets.git] / src / common / fileconf.cpp
index 8f1775f0ddd3b967bb871ed6601c4185678d0b14..e976daf434c03c9fbb24a314d26733540e8c9059 100644 (file)
 
 #include  "wx/utils.h"    // for wxGetHomeDir
 
 
 #include  "wx/utils.h"    // for wxGetHomeDir
 
+#if defined(__WXMAC__)
+  #include  "wx/mac/private.h"  // includes mac headers
+#endif
+
 // _WINDOWS_ is defined when windows.h is included,
 // __WXMSW__ is defined for MS Windows compilation
 #if       defined(__WXMSW__) && !defined(_WINDOWS_)
 // _WINDOWS_ is defined when windows.h is included,
 // __WXMSW__ is defined for MS Windows compilation
 #if       defined(__WXMSW__) && !defined(_WINDOWS_)
@@ -297,8 +301,8 @@ wxString wxFileConfig::GetLocalDir()
 {
   wxString strDir;
 
 {
   wxString strDir;
 
-#if defined(__WXMAC__)
-  // no local dir concept on Mac OS 9
+#if defined(__WXMAC__) || defined(__DOS__)
+  // no local dir concept on Mac OS 9 or MS-DOS
   return GetGlobalDir() ;
 #else
   wxGetHomeDir(&strDir);
   return GetGlobalDir() ;
 #else
   wxGetHomeDir(&strDir);
@@ -349,7 +353,7 @@ wxString wxFileConfig::GetLocalFileName(const wxChar *szFile)
 
   str << szFile;
 
 
   str << szFile;
 
-  #ifdef __WXMSW__
+  #if defined(__WINDOWS__) || defined(__DOS__)
     if ( wxStrchr(szFile, wxT('.')) == NULL )
       str << wxT(".ini");
   #endif
     if ( wxStrchr(szFile, wxT('.')) == NULL )
       str << wxT(".ini");
   #endif
@@ -819,8 +823,7 @@ bool wxFileConfig::HasEntry(const wxString& strName) const
 // read/write values
 // ----------------------------------------------------------------------------
 
 // read/write values
 // ----------------------------------------------------------------------------
 
-bool wxFileConfig::Read(const wxString& key,
-                        wxString* pStr) const
+bool wxFileConfig::DoReadString(const wxString& key, wxString* pStr) const
 {
   wxConfigPathChanger path(this, key);
 
 {
   wxConfigPathChanger path(this, key);
 
@@ -829,44 +832,22 @@ bool wxFileConfig::Read(const wxString& key,
     return FALSE;
   }
 
     return FALSE;
   }
 
-  *pStr = ExpandEnvVars(pEntry->Value());
-  return TRUE;
-}
-
-bool wxFileConfig::Read(const wxString& key,
-                        wxString* pStr, const wxString& defVal) const
-{
-  wxConfigPathChanger path(this, key);
-
-  wxFileConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
-  bool ok;
-  if (pEntry == NULL) {
-    if( IsRecordingDefaults() )
-      ((wxFileConfig *)this)->Write(key,defVal);
-    *pStr = ExpandEnvVars(defVal);
-    ok = FALSE;
-  }
-  else {
-    *pStr = ExpandEnvVars(pEntry->Value());
-    ok = TRUE;
-  }
+  *pStr = pEntry->Value();
 
 
-  return ok;
+  return TRUE;
 }
 
 }
 
-bool wxFileConfig::Read(const wxString& key, long *pl) const
+bool wxFileConfig::DoReadLong(const wxString& key, long *pl) const
 {
   wxString str;
   if ( !Read(key, & str) )
   {
     return FALSE;
   }
 {
   wxString str;
   if ( !Read(key, & str) )
   {
     return FALSE;
   }
-
-  *pl = wxAtol(str);
-  return TRUE;
+  return str.ToLong(pl) ;
 }
 
 }
 
-bool wxFileConfig::Write(const wxString& key, const wxString& szValue)
+bool wxFileConfig::DoWriteString(const wxString& key, const wxString& szValue)
 {
   wxConfigPathChanger path(this, key);
 
 {
   wxConfigPathChanger path(this, key);
 
@@ -901,12 +882,9 @@ bool wxFileConfig::Write(const wxString& key, const wxString& szValue)
   return TRUE;
 }
 
   return TRUE;
 }
 
-bool wxFileConfig::Write(const wxString& key, long lValue)
+bool wxFileConfig::DoWriteLong(const wxString& key, long lValue)
 {
 {
-  // ltoa() is not ANSI :-(
-  wxString buf;
-  buf.Printf(wxT("%ld"), lValue);
-  return Write(key, buf);
+  return Write(key, wxString::Format(_T("%ld"), lValue));
 }
 
 bool wxFileConfig::Flush(bool /* bCurrentOnly */)
 }
 
 bool wxFileConfig::Flush(bool /* bCurrentOnly */)