/////////////////////////////////////////////////////////////////////////////
-// 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"
// 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 )
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
//----------------------------------------------------------------------------
#endif
// it needs to be a full path to be usable
if ( prog.compare(1, 2, _T(":\\")) == 0 )
- wxSplitPath(prog, &strDir, NULL, NULL);
+ wxFileName::SplitPath(prog, &strDir, NULL, NULL);
}
if ( strDir.empty() )
{
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);
+
+ return home;
}
// returns %UserName%, $USER or just "user"
if (!user)
user = _T("user");
- wxStrncpy(buf, user, n);
+ wxStrlcpy(buf, user, n);
return true;
}
bool wxGetHostName(wxChar *buf, int n)
{
const wxChar *host = wxGetenv(_T("ComputerName"));
-
+
if (!host)
host = wxGetenv(_T("HOSTNAME"));
if (!host)
host = _T("host");
- wxStrncpy(buf, host, n);
+ wxStrlcpy(buf, host, n);
return true;
}
argv[n] = NULL;
while (n-- > 0)
- argv[n] = wx_const_cast(wxChar*, args[n].c_str());
+ argv[n] = const_cast<wxChar*>((const char *)args[n].c_str());
long result = wxExecute(argv, flags, process);
#if wxUSE_STREAMS
// A wxFFileInputStream that deletes the file in it's destructor
-//
+//
class wxTempFileInStream : public wxFFileInputStream
{
public:
: wxFFileInputStream(name, _T("rt"))
{ }
- ~wxTempFileInStream()
+ virtual ~wxTempFileInStream()
{
m_file->Close();
wxRemoveFile(m_file->GetName());
return result;
}
+
//----------------------------------------------------------------------------
-// Traits for console apps
+// OS-related
//----------------------------------------------------------------------------
-wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
+wxString wxGetOsDescription()
{
- static wxToolkitInfo info;
- info.versionMajor = _osmajor;
- info.versionMinor = _osminor;
- info.name = _T("wxBase");
- info.os = wxDOS;
- return info;
+ 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()
+{
+ return false;
+}
+