]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/forty/scorefil.cpp
Fix a crash in wxExecute() in wxMSW too.
[wxWidgets.git] / demos / forty / scorefil.cpp
index f85ec62988cd79366496e70dde5724ed0c1f2f48..9d60a32cd686c77fa7fa649e9cc7830ad6668752 100644 (file)
 #include "wx/wx.h"
 #endif
 
-#ifdef __WXGTK__
-#include <unistd.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#endif
 #include "wx/textfile.h"
 #include "wx/config.h"
 #include "wx/fileconf.h"
 
 ScoreFile::ScoreFile(const wxString& appName)
 {
-#if 0
-    wxString filename;
-    m_configFilename << "/usr/local/share/" << appName << ".scores";
-    if (access(m_configFilename, F_OK) == 0)
-    {
-        if (access(m_configFilename, R_OK | W_OK) != 0)
-        {
-            // file is not r/w - use local file instead
-            m_configFilename = wxFileConfig::GetLocalFileName(appName);
-        }
-    }
-    else
-    {
-        int fd = creat(m_configFilename, 0666);
-
-        if (fd < 0)
-        {
-            // failed to create file - use local file instead
-            m_configFilename = wxFileConfig::GetLocalFileName(appName);
-        }
-        else
-        {
-            // ensure created file has rw-rw-rw permissions
-            close(fd);
-        }
-    }
-#endif
-
-    m_config = new wxConfig(appName, _T("wxWidgets"), appName, wxEmptyString,
+    m_config = new wxConfig(appName, wxT("wxWidgets"), appName, wxEmptyString,
                                 wxCONFIG_USE_LOCAL_FILE);  // only local
 }
 
 ScoreFile::~ScoreFile()
 {
     delete m_config;
-#ifdef __WXGTK__
-    // ensure score file has rw-rw-rw permissions
-    // (wxFileConfig sets them to rw-------)
-    chmod(m_configFilename, 0666);
-#endif
 }
 
 
 void ScoreFile::GetPlayerList( wxArrayString &list )
 {
-    m_config->SetPath(_T("/Players"));
+    m_config->SetPath(wxT("/Players"));
     int length = m_config->GetNumberOfGroups();
 
     if (length <= 0) return;
@@ -120,8 +82,8 @@ long ScoreFile::CalcCheck(const wxString& name, int p1, int p2, int p3)
 wxString ScoreFile::GetPreviousPlayer() const
 {
     wxString result;
-    m_config->SetPath(_T("/General"));
-    m_config->Read(_T("LastPlayer"), &result);
+    m_config->SetPath(wxT("/General"));
+    m_config->Read(wxT("LastPlayer"), &result);
     return result;
 }
 
@@ -136,16 +98,16 @@ void ScoreFile::ReadPlayersScore(
 
     games = wins = score = 0;
 
-    m_config->SetPath(_T("/Players"));
+    m_config->SetPath(wxT("/Players"));
     m_config->SetPath(player);
-    if (m_config->Read(_T("Score"), &myScore, 0L) &&
-        m_config->Read(_T("Games"), &myGames, 0L) &&
-        m_config->Read(_T("Wins"),  &myWins, 0L) &&
-        m_config->Read(_T("Check"), &check, 0L))
+    if (m_config->Read(wxT("Score"), &myScore, 0L) &&
+        m_config->Read(wxT("Games"), &myGames, 0L) &&
+        m_config->Read(wxT("Wins"),  &myWins, 0L) &&
+        m_config->Read(wxT("Check"), &check, 0L))
     {
         if (check != CalcCheck(player, myGames, myWins, myScore))
         {
-            wxMessageBox(_T("Score file corrupted"), _T("Warning"),
+            wxMessageBox(wxT("Score file corrupted"), wxT("Warning"),
                                      wxOK | wxICON_EXCLAMATION);
         }
         else
@@ -161,16 +123,16 @@ void ScoreFile::ReadPlayersScore(
 
 void ScoreFile::WritePlayersScore(const wxString& player, int wins, int games, int score)
 {
-    if (player)
+    if (!player.empty())
     {
-        m_config->SetPath(_T("/General"));
-        m_config->Write(_T("LastPlayer"), wxString(player)); // Without wxString tmp, thinks it's bool in VC++
+        m_config->SetPath(wxT("/General"));
+        m_config->Write(wxT("LastPlayer"), wxString(player)); // Without wxString tmp, thinks it's bool in VC++
 
-        m_config->SetPath(_T("/Players"));
+        m_config->SetPath(wxT("/Players"));
         m_config->SetPath(player);
-        m_config->Write(_T("Score"), (long)score);
-        m_config->Write(_T("Games"), (long)games);
-        m_config->Write(_T("Wins"), (long)wins);
-        m_config->Write(_T("Check"), CalcCheck(player, games, wins, score));
+        m_config->Write(wxT("Score"), (long)score);
+        m_config->Write(wxT("Games"), (long)games);
+        m_config->Write(wxT("Wins"), (long)wins);
+        m_config->Write(wxT("Check"), CalcCheck(player, games, wins, score));
     }
 }