
Beman, I'm committing a patch (below) for my last filesystem patch, basically I've found another reason why GetFileAttributes can fail when the file does not exist. John. $ cvs diff -u johnmaddock@cvs.sourceforge.net's password: cvs diff: Diffing . Index: operations_posix_windows.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/filesystem/src/operations_posix_windows.cpp, v retrieving revision 1.33 diff -u -r1.33 operations_posix_windows.cpp --- operations_posix_windows.cpp 30 Mar 2004 15:19:58 -0000 1.33 +++ operations_posix_windows.cpp 5 Jun 2004 11:47:23 -0000 @@ -321,10 +321,12 @@ # else if(::GetFileAttributesA( ph.string().c_str() ) == 0xFFFFFFFF) { - if((::GetLastError() == ERROR_FILE_NOT_FOUND) || (::GetLastError() == ERROR_PATH_NOT_FOUND)) + UINT err = ::GetLastError(); + if((err == ERROR_FILE_NOT_FOUND) || (err == ERROR_PATH_NOT_FOUND) || (err == ERROR_INVALID_NAME)) return false; // GetFileAttributes failed because the path does not exist // for any other error we assume the file does exist and fall through, // this may not be the best policy though... (JM 20040330) + return true; } return true; # endif
participants (1)
-
John Maddock