Fixed the wxDirExists() function so that if asked about the root directory of a drive (i.e. "d:\") or a UNC directory, WIN32 apps will correctly report whether the dir exists

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker
2000-11-20 15:14:22 +00:00
parent 445c7bca97
commit 7d33179be4

View File

@@ -436,29 +436,14 @@ wxChar *wxGetUserHome(const wxString& user)
bool wxDirExists(const wxString& dir)
{
#if defined(__WIN32__)
WIN32_FIND_DATA fileInfo;
DWORD attribs = GetFileAttributes(dir);
return ((attribs != -1) && (attribs & FILE_ATTRIBUTE_DIRECTORY));
#else // Win16
#ifdef __BORLANDC__
struct ffblk fileInfo;
#else
struct find_t fileInfo;
#endif
#endif // Win32/16
#if defined(__WIN32__)
HANDLE h = ::FindFirstFile(dir, &fileInfo);
if ( h == INVALID_HANDLE_VALUE )
{
wxLogLastError(wxT("FindFirstFile"));
return FALSE;
}
::FindClose(h);
return (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0;
#else // Win16
// In Borland findfirst has a different argument
// ordering from _dos_findfirst. But _dos_findfirst
// _should_ be ok in both MS and Borland... why not?