X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/30984deafc05d7c6f88db736336fe73d23a08e19..08422003083270640e23c2563a5fa72d131add96:/src/common/filefn.cpp diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 1ed5377151..0a2241edd8 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -298,7 +298,11 @@ wxFileExists (const wxString& filename) return (ret != (DWORD)-1) && !(ret & FILE_ATTRIBUTE_DIRECTORY); #else // !__WIN32__ wxStructStat st; - return wxStat(filename, &st) == 0 && (st.st_mode & S_IFREG); +#ifndef wxNEED_WX_UNISTD_H + return wxStat( filename.fn_str() , &st) == 0 && (st.st_mode & S_IFREG); +#else + return wxStat( filename , &st) == 0 && (st.st_mode & S_IFREG); +#endif #endif // __WIN32__/!__WIN32__ } @@ -357,17 +361,16 @@ void wxStripExtension(wxChar *buffer) void wxStripExtension(wxString& buffer) { - size_t len = buffer.Length(); - size_t i = len-1; - while (i > 0) - { - if (buffer.GetChar(i) == wxT('.')) + //RN: Be careful about the handling the case where + //buffer.Length() == 0 + for(size_t i = buffer.Length() - 1; i != wxString::npos; --i) { - buffer = buffer.Left(i); - break; + if (buffer.GetChar(i) == wxT('.')) + { + buffer = buffer.Left(i); + break; + } } - i --; - } } // Destructive removal of /./ and /../ stuff