mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-31 09:32:11 +00:00
Add method for checking if a path is a symbolic link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118367 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
187d8339db
commit
9e07a149b0
@ -373,6 +373,12 @@ namespace sys {
|
||||
/// @brief Determins if the path is a directory in the file system.
|
||||
bool isDirectory() const;
|
||||
|
||||
/// This function determines if the path name refences an
|
||||
/// existing symbolic link.
|
||||
/// @returns true if the pathname references an existing symlink.
|
||||
/// @brief Determins if the path is a symlink in the file system.
|
||||
bool isSymLink() const;
|
||||
|
||||
/// This function determines if the path name references a readable file
|
||||
/// or directory in the file system. This function checks for
|
||||
/// the existence and readability (by the current program) of the file
|
||||
|
@ -433,6 +433,15 @@ Path::isDirectory() const {
|
||||
return ((buf.st_mode & S_IFMT) == S_IFDIR) ? true : false;
|
||||
}
|
||||
|
||||
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);
|
||||
|
@ -350,6 +350,11 @@ Path::isDirectory() const {
|
||||
(attr & FILE_ATTRIBUTE_DIRECTORY);
|
||||
}
|
||||
|
||||
bool
|
||||
Path::isSymLink() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
Path::canRead() const {
|
||||
// FIXME: take security attributes into account.
|
||||
|
Loading…
Reference in New Issue
Block a user