]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/baseunix.cpp
[ 1216436 ] cleanup 'shadow variable' warnings from gcc in headers.
[wxWidgets.git] / src / unix / baseunix.cpp
index 0b03067e58be7a6ce950af1cc77e6937d9ca2acb..d7e34da3c5450a9e121d7c72a3ef298aed31b632 100644 (file)
@@ -86,17 +86,30 @@ wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
 // ----------------------------------------------------------------------------
 
 // this is in mac/utils.cpp under Mac
-#ifndef __WXMAC__
+#if !defined(__WXMAC__)
 
 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;
     }