X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe1f34f82e583289d77764525a556b0ffcc68994..d23ec02c6ab52f60349601be999bab4cf6acbdc4:/src/common/filefn.cpp diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 84ebf76d34..5168a4cff5 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -40,7 +40,7 @@ #include #include #include -#if !defined(__WATCOMC__) +#if !wxONLY_WATCOM_EARLIER_THAN(1,4) #if !(defined(_MSC_VER) && (_MSC_VER > 800)) #include #endif @@ -242,8 +242,7 @@ bool wxPathList::Member (const wxString& path) wxString wxPathList::FindValidPath (const wxString& file) { - if (wxFileExists (wxExpandPath(wxFileFunctionsBuffer, file))) - return wxString(wxFileFunctionsBuffer); + wxExpandPath(wxFileFunctionsBuffer, file); wxChar buf[_MAXPATHLEN]; wxStrcpy(buf, wxFileFunctionsBuffer); @@ -252,7 +251,7 @@ wxString wxPathList::FindValidPath (const wxString& file) for (wxStringList::compatibility_iterator node = GetFirst(); node; node = node->GetNext()) { - const wxChar *path = node->GetData(); + const wxString path(node->GetData()); wxStrcpy (wxFileFunctionsBuffer, path); wxChar ch = wxFileFunctionsBuffer[wxStrlen(wxFileFunctionsBuffer)-1]; if (ch != wxT('\\') && ch != wxT('/')) @@ -301,7 +300,12 @@ wxFileExists (const wxString& filename) #else // !__WIN32__ wxStructStat st; #ifndef wxNEED_WX_UNISTD_H - return wxStat( filename.fn_str() , &st) == 0 && (st.st_mode & S_IFREG); + return (wxStat( filename.fn_str() , &st) == 0 && (st.st_mode & S_IFREG)) +#ifdef __OS2__ + || (errno == EACCES) // if access is denied something with that name + // exists and is opened in exclusive mode. +#endif + ; #else return wxStat( filename , &st) == 0 && (st.st_mode & S_IFREG); #endif @@ -1798,6 +1802,7 @@ bool wxIsWild( const wxString& pattern ) * Written By Douglas A. Lewis * * The match procedure is public domain code (from ircII's reg.c) +* but modified to suit our tastes (RN: No "%" syntax I guess) */ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) @@ -1811,11 +1816,8 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) const wxChar *m = pat.c_str(), *n = text.c_str(), *ma = NULL, - *na = NULL, - *mp = NULL, - *np = NULL; + *na = NULL; int just = 0, - pcount = 0, acount = 0, count = 0; @@ -1833,7 +1835,6 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) ma = ++m; na = n; just = 1; - mp = NULL; acount = count; } else if (*m == wxT('?')) @@ -1876,8 +1877,6 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) if (*m == *n) { m++; - if (*n == wxT(' ')) - mp = NULL; count++; n++; } @@ -1894,19 +1893,6 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special ) */ if (!*n) return false; - if (mp) - { - m = mp; - if (*np == wxT(' ')) - { - mp = NULL; - goto check_percent; - } - n = ++np; - count = pcount; - } - else - check_percent: if (ma) {