From 142ca8e81800ce6bcb511f3250bae23210d38ec8 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Wed, 23 Aug 2006 06:56:27 +0000 Subject: For PR797: Remove exception throwing from Path::getDirectoryContents and its users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29841 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/System/Win32/Path.inc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'lib/System/Win32') diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc index 2f2e852..913a409 100644 --- a/lib/System/Win32/Path.inc +++ b/lib/System/Win32/Path.inc @@ -353,9 +353,11 @@ bool Path::makeExecutableOnDisk(std::string* ErrMsg) { } bool -Path::getDirectoryContents(std::set& result) const { - if (!isDirectory()) - return false; +Path::getDirectoryContents(std::set& result, std::string* ErrMsg) const { + if (!isDirectory()) { + MakeErrMsg(ErrMsg, path + ": not a directory"); + return true; + } result.clear(); WIN32_FIND_DATA fd; @@ -369,7 +371,8 @@ Path::getDirectoryContents(std::set& result) const { if (h == INVALID_HANDLE_VALUE) { if (GetLastError() == ERROR_FILE_NOT_FOUND) return true; // not really an error, now is it? - ThrowError(path + ": Can't read directory: "); + MakeErrMsg(ErrMsg, path + ": Can't read directory: "); + return true; } do { @@ -384,9 +387,10 @@ Path::getDirectoryContents(std::set& result) const { FindClose(h); if (err != ERROR_NO_MORE_FILES) { SetLastError(err); - ThrowError(path + ": Can't read directory: "); + MakeErrMsg(ErrMsg, path + ": Can't read directory: "); + return true; } - return true; + return false; } bool -- cgit v1.1