]> git.saurik.com Git - wxWidgets.git/commitdiff
fix for bug 1371386, with some minor mods and cleanup
authorDavid Surovell <davids@osafoundation.org>
Sat, 3 Dec 2005 21:17:17 +0000 (21:17 +0000)
committerDavid Surovell <davids@osafoundation.org>
Sat, 3 Dec 2005 21:17:17 +0000 (21:17 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/unix/stdpaths.cpp

index 5c36bfcf7edf2dbd4e870a567455e2199eb0de0b..9cd1cfdf7da3517fab29ddf72cdd35630be9fda5 100644 (file)
@@ -55,31 +55,33 @@ wxString wxStandardPaths::GetInstallPrefix() const
 {
     if ( m_prefix.empty() )
     {
-        wxStandardPaths *self = wx_const_cast(wxStandardPaths *, this);
+        wxStandardPaths *pathPtr = wx_const_cast(wxStandardPaths *, this);
 
 #ifdef __LINUX__
         // under Linux, we can get location of the executable
-        char buf[4096];
-        if ( readlink("/proc/self/exe", buf, WXSIZEOF(buf)) != -1 )
+        wxChar buf[4096];
+        int result;
+
+        result = readlink( wxT("/proc/self/exe"), buf, WXSIZEOF(buf) - sizeof(wxChar) );
+        if (result != -1)
         {
-            wxString exe(buf, wxConvLibc);
+            buff[result] = wxChar(0);
+            wxString exeStr( buf, wxConvLibc );
 
             // consider that we're in the last "bin" subdirectory of our prefix
-            wxString basename(wxString(wxTheApp->argv[0]).AfterLast(_T('/')));
-            size_t pos = exe.find(_T("/bin/") + basename);
-            if ( pos != wxString::npos )
-            {
-                self->m_prefix.assign(exe, 0, pos);
-            }
+            wxString basename( wxString( wxTheApp->argv[0]).AfterLast(_T('/')) );
+            size_t pos = exeStr.find( wxT("/bin/") + basename );
+            if (pos != wxString::npos)
+                pathPtr->m_prefix.assign( exeStr, 0, pos );
         }
-
-        if ( m_prefix.empty() )
 #endif // __LINUX__
+
+        if (m_prefix.empty())
         {
 #ifdef __VMS
-          self->m_prefix = _T("/sys$system");
+          pathPtr->m_prefix = wxT("/sys$system");
 #else
-          self->m_prefix = _T("/usr/local");
+          pathPtr->m_prefix = wxT("/usr/local");
 #endif
         }
     }