aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/System/Path.cpp2
-rw-r--r--lib/System/Unix/Path.inc4
-rw-r--r--lib/System/Win32/Path.inc4
3 files changed, 7 insertions, 3 deletions
diff --git a/lib/System/Path.cpp b/lib/System/Path.cpp
index 43c36d5e09..e8fd5f2963 100644
--- a/lib/System/Path.cpp
+++ b/lib/System/Path.cpp
@@ -196,7 +196,7 @@ static void getPathList(const char*path, std::vector<Path>& Paths) {
Paths.push_back(tmpPath);
}
-std::string Path::getDirnameCharSep(char Sep) const {
+static std::string getDirnameCharSep(const std::string& path, char Sep) {
if (path.empty())
return ".";
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index fe2e3c6777..aca4b936e8 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -277,7 +277,9 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
}
-std::string Path::getDirname() const { return getDirnameCharSep('/'); }
+std::string Path::getDirname() const {
+ return getDirnameCharSep(path, '/');
+}
std::string
Path::getBasename() const {
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 35bae337da..357cb2f27e 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -229,7 +229,9 @@ Path::isRootDirectory() const {
return len > 0 && path[len-1] == '/';
}
-std::string Path::getDirname() const { return getDirnameCharSep('\\'); }
+std::string Path::getDirname() const {
+ return getDirnameCharSep(path, '\\');
+}
std::string
Path::getBasename() const {