]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msdos/utilsdos.cpp
reverted the change of r32940 which worked around a bug due to associating a dummy...
[wxWidgets.git] / src / msdos / utilsdos.cpp
index ff9814800121be93892adf84f85f6aaee6e9735f..ff4647668c0a9df96f65fbcede49785be908e43f 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        utils.cpp
+// Name:        src/msdos/utils.cpp
 // Purpose:     DOS implementations of utility functions
 // Author:      Vaclav Slavik, M.J.Wetherell
 // Id:          $Id$
 #endif
 
 #include "wx/utils.h"
-#include "wx/string.h"
 
-#include "wx/intl.h"
+#ifndef WX_PRECOMP
+    #include "wx/string.h"
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/app.h"
+#endif
+
 #include "wx/apptrait.h"
-#include "wx/log.h"
 #include "wx/process.h"
 #include "wx/confbase.h"        // for wxExpandEnvVars()
-#include "wx/app.h"
 #include "wx/cmdline.h"
 #include "wx/filename.h"
 #include "wx/wfstream.h"
@@ -85,15 +88,15 @@ bool wxGetEnv(const wxString& var, wxString *value)
     // wxGetenv is defined as getenv()
     wxChar *p = wxGetenv(var);
     if ( !p )
-        return FALSE;
+        return false;
 
     if ( value )
         *value = p;
 
-    return TRUE;
+    return true;
 }
 
-bool wxSetEnv(const wxString& variable, const wxChar *value)
+static bool wxDoSetEnv(const wxString& variable, const char *value)
 {
     wxString s = variable;
     if ( value )
@@ -109,6 +112,17 @@ bool wxSetEnv(const wxString& variable, const wxChar *value)
     return putenv(buf) == 0;
 }
 
+bool wxSetEnv(const wxString& variable, const wxString& value)
+{
+    return wxDoSetEnv(variable, value.mb_str());
+}
+
+bool wxUnsetEnv(const wxString& variable)
+{
+    return wxDoSetEnv(variable, NULL);
+}
+
+
 //----------------------------------------------------------------------------
 // Hostname, username, home directory
 //----------------------------------------------------------------------------
@@ -197,26 +211,15 @@ const wxChar* wxGetHomeDir(wxString *home)
     return strDir.c_str();
 }
 
-wxChar *wxGetUserHome(const wxString& user)
+wxString wxGetUserHome(const wxString& user)
 {
-    static wxString home;
+    wxString home;
 
     if (user.empty() || user == wxGetUserId())
-        return wx_const_cast(wxChar*, wxGetHomeDir(&home));
-    else
-        return _T("");
-}
+        wxGetHomeDir(&home);
 
-#if WXWIN_COMPATIBILITY_2_2
-void wxFatalError(const wxString &msg, const wxString &title)
-{
-    wxFprintf( stderr, _("Error ") );
-    if (!title.IsNull()) wxFprintf( stderr, wxT("%s "), WXSTRINGCAST(title) );
-    if (!msg.IsNull()) wxFprintf( stderr, wxT(": %s"), WXSTRINGCAST(msg) );
-    wxFprintf( stderr, wxT(".\n") );
-    exit(3); // the same exit code as for abort()
+    return home;
 }
-#endif // WXWIN_COMPATIBILITY_2_2
 
 // returns %UserName%, $USER or just "user"
 //
@@ -244,7 +247,7 @@ bool wxGetUserName(wxChar *buf, int n)
 bool wxGetHostName(wxChar *buf, int n)
 {
     const wxChar *host = wxGetenv(_T("ComputerName"));
-    
+
     if (!host)
         host = wxGetenv(_T("HOSTNAME"));
 
@@ -318,7 +321,7 @@ long wxExecute(const wxString& command, int flags, wxProcess *process)
 
     argv[n] = NULL;
     while (n-- > 0)
-        argv[n] = wx_const_cast(wxChar*, args[n].c_str());
+        argv[n] = wx_const_cast(wxChar*, (const char *)args[n].c_str());
 
     long result = wxExecute(argv, flags, process);
 
@@ -329,7 +332,7 @@ long wxExecute(const wxString& command, int flags, wxProcess *process)
 #if wxUSE_STREAMS
 
 // A wxFFileInputStream that deletes the file in it's destructor
-// 
+//
 class wxTempFileInStream : public wxFFileInputStream
 {
 public:
@@ -337,7 +340,7 @@ public:
         : wxFFileInputStream(name, _T("rt"))
     { }
 
-    ~wxTempFileInStream()
+    virtual ~wxTempFileInStream()
     {
         m_file->Close();
         wxRemoveFile(m_file->GetName());
@@ -475,16 +478,29 @@ long wxExecute(wxChar **argv, int flags, wxProcess *process)
     return result;
 }
 
+
 //----------------------------------------------------------------------------
-// Traits for console apps
+// OS-related
 //----------------------------------------------------------------------------
 
-wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
+wxString wxGetOsDescription()
+{
+    wxString osname(_T("DOS"));
+    return osname;
+}
+
+wxOperatingSystemId wxGetOsVersion(int *verMaj, int *verMin)
+{
+    if ( verMaj )
+        *verMaj = _osmajor;
+    if ( verMin )
+        *verMin = _osminor;
+
+    return wxOS_DOS;
+}
+
+bool wxIsPlatform64Bit()
 {
-    static wxToolkitInfo info;
-    info.versionMajor = _osmajor;
-    info.versionMinor = _osminor;
-    info.name = _T("wxBase");
-    info.os = wxDOS;
-    return info;
+    return false;
 }
+