System/Win32/Path: Implement isSymLink.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118681 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael J. Spencer 2010-11-10 15:05:39 +00:00
parent b2cbdc35ba
commit 339b9121bd

View File

@ -376,7 +376,15 @@ Path::isDirectory() const {
bool
Path::isSymLink() const {
return false;
DWORD attributes = GetFileAttributes(path.c_str());
if (attributes == INVALID_FILE_ATTRIBUTES)
// There's no sane way to report this :(.
assert(0 && "GetFileAttributes returned INVALID_FILE_ATTRIBUTES");
// This isn't exactly what defines a NTFS symlink, but it is only true for
// paths that act like a symlink.
return attributes & FILE_ATTRIBUTE_REPARSE_POINT;
}
bool