X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2db300c6643131b51a3a6a10815cf74850db5e58..221ed5767f7ef4d51b0bbef50ec9f53edfaa46f2:/src/common/filefn.cpp diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index ba270dea90..cfc915390c 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -300,16 +300,10 @@ bool wxFileExists (const wxString& filename) { #if defined(__WIN32__) && !defined(__WXMICROWIN__) - // GetFileAttributes can copy with network paths + // GetFileAttributes can copy with network paths unlike stat() DWORD ret = ::GetFileAttributes(filename); - if ( ret == (DWORD)-1 ) - { - wxLogLastError(_T("GetFileAttributes")); - - return FALSE; - } - return !(ret & FILE_ATTRIBUTE_DIRECTORY); + return (ret != (DWORD)-1) && !(ret & FILE_ATTRIBUTE_DIRECTORY); #else wxStructStat stbuf; if ( !filename.empty() && wxStat (OS_FILENAME(filename), &stbuf) == 0 ) @@ -1266,6 +1260,7 @@ bool wxRmdir(const wxString& dir, int WXUNUSED(flags)) bool wxPathExists(const wxChar *pszPathName) { wxString strPath(pszPathName); + #ifdef __WINDOWS__ // Windows fails to find directory named "c:\dir\" even if "c:\dir" exists, // so remove all trailing backslashes from the path - but don't do this for @@ -1281,17 +1276,11 @@ bool wxPathExists(const wxChar *pszPathName) #endif // __WINDOWS__ #if defined(__WIN32__) && !defined(__WXMICROWIN__) - // Stat can't cope with network paths - DWORD ret = ::GetFileAttributes(filename); - if ( ret == (DWORD)-1 ) - { - wxLogLastError(_T("GetFileAttributes")); - - return FALSE; - } + // stat() can't cope with network paths + DWORD ret = ::GetFileAttributes(strPath); - return (ret & FILE_ATTRIBUTE_DIRECTORY) != 0; -#else + return (ret != (DWORD)-1) && (ret & FILE_ATTRIBUTE_DIRECTORY); +#else // !__WIN32__ wxStructStat st; #ifndef __VISAGECPP__ @@ -1303,7 +1292,7 @@ bool wxPathExists(const wxChar *pszPathName) (st.st_mode == S_IFDIR); #endif -#endif +#endif // __WIN32__/!__WIN32__ } // Get a temporary filename, opening and closing the file.