aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward O'Callaghan <eocallaghan@auroraux.org>2009-11-25 06:32:19 +0000
committerEdward O'Callaghan <eocallaghan@auroraux.org>2009-11-25 06:32:19 +0000
commite49a8e4db92bf8b92f5fa6a13b7c17837c1762de (patch)
tree6908b7b16e4bc528c16fd78ece9e154d2e3f07dd
parentb3587cfb3bd2de1675836eca8802661d32d6eb4d (diff)
downloadexternal_llvm-e49a8e4db92bf8b92f5fa6a13b7c17837c1762de.zip
external_llvm-e49a8e4db92bf8b92f5fa6a13b7c17837c1762de.tar.gz
external_llvm-e49a8e4db92bf8b92f5fa6a13b7c17837c1762de.tar.bz2
API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/System/Path.h8
-rw-r--r--lib/System/Unix/Path.inc10
-rw-r--r--lib/System/Win32/Path.inc6
3 files changed, 14 insertions, 10 deletions
diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index 04dba1d..7edd5c0 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -380,10 +380,12 @@ namespace sys {
/// in the file system.
bool canWrite() const;
- /// This function checks that what we're trying to work only on a regular file or directory.
- /// Check for things like /dev/null, any block special file,
+ /// This function checks that what we're trying to work only on a regular file
+ /// or directory. Check for things like /dev/null, any block special file,
/// or other things that aren't "regular" regular files or directories.
- bool isSpecialFile() const;
+ /// @returns true if the file is S_ISREG.
+ /// @brief Determines if the file is a regular file
+ bool isRegularFile() const;
/// This function determines if the path name references an executable
/// file in the file system. This function checks for the existence and
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 8dd76a7..4300d67 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -454,17 +454,17 @@ Path::canWrite() const {
}
bool
-Path::isSpecialFile() const {
+Path::isRegularFile() const {
// Get the status so we can determine if its a file or directory
struct stat buf;
if (0 != stat(path.c_str(), &buf))
- return true;
-
- if (S_ISDIR(buf.st_mode) || S_ISREG(buf.st_mode))
return false;
- return true;
+ if (S_ISREG(buf.st_mode))
+ return true;
+
+ return false;
}
bool
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 9adeca2..634fbc7 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -358,8 +358,10 @@ Path::canExecute() const {
}
bool
-Path::isSpecialFile() const {
- return false;
+Path::isRegularFile() const {
+ if (isDirectory())
+ return false;
+ return true;
}
std::string