Added "GetCurrentDirectory()" to sys::Path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45182 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2007-12-18 22:07:33 +00:00
parent 280f4565eb
commit 79200788df
3 changed files with 24 additions and 0 deletions

View File

@ -148,6 +148,11 @@ namespace sys {
/// constructor must provide the same result as GetRootDirectory.
/// @brief Construct a path to the current user's "home" directory
static Path GetUserHomeDirectory();
/// Construct a path to the current directory for the current process.
/// @returns The current working directory.
/// @brief Returns the current working directory.
static Path GetCurrentDirectory();
/// Return the suffix commonly used on file names that contain a shared
/// object, shared archive, or dynamic link library. Such files are

View File

@ -250,6 +250,16 @@ Path::GetUserHomeDirectory() {
return GetRootDirectory();
}
Path
Path::GetCurrentDirectory() {
char pathname[MAXPATHLEN];
if (!getcwd(pathname,MAXPATHLEN)) {
assert (false && "Could not query current working directory.");
return Path("");
}
return Path(pathname);
}
std::string
Path::getBasename() const {

View File

@ -222,6 +222,15 @@ Path::GetUserHomeDirectory() {
}
return GetRootDirectory();
}
Path
Path::GetCurrentDirectory() {
char pathname[MAX_PATH];
GetCurrentDirectory(pathname,MAX_PATH);
return Path(pathname);
}
// FIXME: the above set of functions don't map to Windows very well.