X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/25db2c25bc488fcdd10cc5d2fd4938fd78b1cf0e..95316a3f245a4baf3046e97222660bed986153ed:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 31251fcdcb..6ffcbf1288 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -99,7 +99,9 @@ #endif #ifdef __WINDOWS__ -#include "wx/msw/private.h" + #include "wx/msw/private.h" + #include // for CLSID_ShellLink + #include "wx/msw/missing.h" #endif #if defined(__WXMAC__) @@ -737,7 +739,12 @@ wxFileSystemObjectExists(const wxString& path, int flags) if ( S_ISDIR(st.st_mode) ) return acceptDir; if ( S_ISLNK(st.st_mode) ) - return (flags & wxFILE_EXISTS_SYMLINK) != 0; + { + // Take care to not test for "!= 0" here as this would erroneously + // return true if only wxFILE_EXISTS_NO_FOLLOW, which is part of + // wxFILE_EXISTS_SYMLINK, is set too. + return (flags & wxFILE_EXISTS_SYMLINK) == wxFILE_EXISTS_SYMLINK; + } if ( S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode) ) return (flags & wxFILE_EXISTS_DEVICE) != 0; if ( S_ISFIFO(st.st_mode) ) @@ -1422,8 +1429,7 @@ bool wxFileName::Rmdir(const wxString& dir, int flags) // this directory itself even when it is a symlink -- but without // following it. Do it here as wxRmdir() would simply follow if // called for a symlink. - if ( wxFileName::Exists(dir, wxFILE_EXISTS_SYMLINK | - wxFILE_EXISTS_NO_FOLLOW) ) + if ( wxFileName::Exists(dir, wxFILE_EXISTS_SYMLINK) ) { return wxRemoveFile(dir); } @@ -1698,13 +1704,6 @@ bool wxFileName::ReplaceHomeDir(wxPathFormat format) // quotation marks." #if defined(__WIN32__) && !defined(__WXWINCE__) && wxUSE_OLE -// The following lines are necessary under WinCE -// #include "wx/msw/private.h" -// #include -#include -#if defined(__WXWINCE__) -#include -#endif bool wxFileName::GetShortcutTarget(const wxString& shortcutPath, wxString& targetFilename,