diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/System/Unix/Path.inc | 9 | ||||
| -rw-r--r-- | llvm/lib/System/Win32/Path.inc | 5 | 
2 files changed, 14 insertions, 0 deletions
| diff --git a/llvm/lib/System/Unix/Path.inc b/llvm/lib/System/Unix/Path.inc index d5b7542757d..5ee3adc4d2d 100644 --- a/llvm/lib/System/Unix/Path.inc +++ b/llvm/lib/System/Unix/Path.inc @@ -434,6 +434,15 @@ Path::isDirectory() const {  }  bool +Path::isSymLink() const { +  struct stat buf; +  if (0 != lstat(path.c_str(), &buf)) +    return false; +  return S_ISLNK(buf.st_mode); +} + + +bool  Path::canRead() const {    return 0 == access(path.c_str(), R_OK);  } diff --git a/llvm/lib/System/Win32/Path.inc b/llvm/lib/System/Win32/Path.inc index 2ead80127b3..4db7696b49e 100644 --- a/llvm/lib/System/Win32/Path.inc +++ b/llvm/lib/System/Win32/Path.inc @@ -351,6 +351,11 @@ Path::isDirectory() const {  }  bool +Path::isSymLink() const { +  return false; +} + +bool  Path::canRead() const {    // FIXME: take security attributes into account.    DWORD attr = GetFileAttributes(path.c_str()); | 

