///////////////////////////////////////////////////////////////////////////////
-// Name: unix/baseunix.cpp
+// Name: src/unix/baseunix.cpp
// Purpose: misc stuff only used in console applications under Unix
// Author: Vadim Zeitlin
// Modified by:
// Created: 23.06.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License: wxWindows license
+// License: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/intl.h"
+ #include "wx/utils.h"
#endif //WX_PRECOMP
#include "wx/apptrait.h"
-#include "wx/utils.h"
#include "wx/unix/execute.h"
// for waitpid()
// ----------------------------------------------------------------------------
// this is in mac/utils.cpp under Mac
-#ifndef __WXMAC__
+#if !defined(__WXMAC__)
-wxToolkitInfo *wxConsoleAppTraits::GetToolkitInfo()
+wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
{
static wxToolkitInfo info;
int major, minor;
- char name[256];
- if ( sscanf(WXWIN_OS_DESCRIPTION, "%255s %d.%d", name, &major, &minor) != 3 )
+ FILE *f = popen("uname -r", "r");
+ if (f)
{
- // unreckognized uname string format
+ char buf[32];
+ size_t c = fread(buf, 1, sizeof(buf) - 1, f);
+ pclose(f);
+ buf[c] = '\0';
+ if ( sscanf(buf, "%d.%d", &major, &minor) != 2 )
+ {
+ // unrecognized uname string format
+ major =
+ minor = -1;
+ }
+ }
+ else
+ {
+ // failed to run uname
major =
minor = -1;
}
info.name = _T("wxBase");
info.os = wxUNIX;
- return &info;
+ return info;
}
#endif // __WXMAC__
-