From 8475ec068c213d0bf73f7686d82491a8f12e3b32 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Thu, 29 Mar 2007 19:05:44 +0000 Subject: For PR789: Make the sys::Path::getFileStatus function more efficient by having it return a pointer to the FileStatus structure rather than copy it. Adjust uses of the function accordingly. Also, fix some memory issues in sys::Path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/System/Unix/Signals.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/System/Unix/Signals.inc') diff --git a/lib/System/Unix/Signals.inc b/lib/System/Unix/Signals.inc index 35c628ba33..a471b95a99 100644 --- a/lib/System/Unix/Signals.inc +++ b/lib/System/Unix/Signals.inc @@ -168,8 +168,10 @@ bool sys::RemoveFileOnSignal(const sys::Path &Filename, std::string* ErrMsg) { // RemoveDirectoryOnSignal - The public API bool sys::RemoveDirectoryOnSignal(const sys::Path& path, std::string* ErrMsg) { // Not a directory? - sys::FileStatus Status; - if (path.getFileStatus(Status) || !Status.isDir) { + const sys::FileStatus *Status = path.getFileStatus(false, ErrMsg); + if (!Status) + return true; + if (!Status->isDir) { if (ErrMsg) *ErrMsg = path.toString() + " is not a directory"; return true; -- cgit v1.2.3-18-g5258