mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +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:
@@ -373,6 +373,12 @@ namespace sys {
|
|||||||
/// @brief Determins if the path is a directory in the file system.
|
/// @brief Determins if the path is a directory in the file system.
|
||||||
bool isDirectory() const;
|
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
|
/// This function determines if the path name references a readable file
|
||||||
/// or directory in the file system. This function checks for
|
/// or directory in the file system. This function checks for
|
||||||
/// the existence and readability (by the current program) of the file
|
/// 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;
|
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
|
bool
|
||||||
Path::canRead() const {
|
Path::canRead() const {
|
||||||
return 0 == access(path.c_str(), R_OK);
|
return 0 == access(path.c_str(), R_OK);
|
||||||
|
@@ -350,6 +350,11 @@ Path::isDirectory() const {
|
|||||||
(attr & FILE_ATTRIBUTE_DIRECTORY);
|
(attr & FILE_ATTRIBUTE_DIRECTORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Path::isSymLink() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Path::canRead() const {
|
Path::canRead() const {
|
||||||
// FIXME: take security attributes into account.
|
// FIXME: take security attributes into account.
|
||||||
|
Reference in New Issue
Block a user