summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-12-18 22:07:33 +0000
committerTed Kremenek <kremenek@apple.com>2007-12-18 22:07:33 +0000
commit79200788df8d946eae6973709b998a7f3a4cb754 (patch)
tree6644227d4f4f9db126b48d411570e4b40686cdda /lib
parent280f4565eb599ce424c204b9ea07130d772af7e3 (diff)
downloadllvm-79200788df8d946eae6973709b998a7f3a4cb754.tar.gz
llvm-79200788df8d946eae6973709b998a7f3a4cb754.tar.bz2
llvm-79200788df8d946eae6973709b998a7f3a4cb754.tar.xz
Added "GetCurrentDirectory()" to sys::Path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45182 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/System/Unix/Path.inc10
-rw-r--r--lib/System/Win32/Path.inc9
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 9e90dda04e..025357258d 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -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 {
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 2484b8a744..7d96529161 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -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.