From e49a8e4db92bf8b92f5fa6a13b7c17837c1762de Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Wed, 25 Nov 2009 06:32:19 +0000 Subject: [PATCH] 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 --- include/llvm/System/Path.h | 8 +++++--- lib/System/Unix/Path.inc | 10 +++++----- lib/System/Win32/Path.inc | 6 ++++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h index 04dba1db3e2..7edd5c08207 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 8dd76a74128..4300d6719b3 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 9adeca24103..634fbc7650b 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