mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Remove Path::getDirname.
llvm-svn: 183780
This commit is contained in:
parent
3eb11a9b44
commit
993b0c88c5
@ -200,11 +200,6 @@ namespace sys {
|
||||
/// @brief Determines if the path name is empty (invalid).
|
||||
bool isEmpty() const { return path.empty(); }
|
||||
|
||||
/// This function strips off the suffix of the path beginning with the
|
||||
/// path separator ('/' on Unix, '\' on Windows) and returns the result.
|
||||
LLVM_ATTRIBUTE_DEPRECATED(StringRef getDirname() const,
|
||||
LLVM_PATH_DEPRECATED_MSG(path::parent_path));
|
||||
|
||||
/// This function strips off the path and basename(up to and
|
||||
/// including the last dot) of the file or directory name and
|
||||
/// returns just the suffix. For example /a/foo.bar would cause
|
||||
|
@ -91,46 +91,6 @@ bool Path::hasMagicNumber(StringRef Magic) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
static StringRef getDirnameCharSep(StringRef path, const char *Sep) {
|
||||
assert(Sep[0] != '\0' && Sep[1] == '\0' &&
|
||||
"Sep must be a 1-character string literal.");
|
||||
if (path.empty())
|
||||
return ".";
|
||||
|
||||
// If the path is all slashes, return a single slash.
|
||||
// Otherwise, remove all trailing slashes.
|
||||
|
||||
signed pos = static_cast<signed>(path.size()) - 1;
|
||||
|
||||
while (pos >= 0 && path[pos] == Sep[0])
|
||||
--pos;
|
||||
|
||||
if (pos < 0)
|
||||
return path[0] == Sep[0] ? Sep : ".";
|
||||
|
||||
// Any slashes left?
|
||||
signed i = 0;
|
||||
|
||||
while (i < pos && path[i] != Sep[0])
|
||||
++i;
|
||||
|
||||
if (i == pos) // No slashes? Return "."
|
||||
return ".";
|
||||
|
||||
// There is at least one slash left. Remove all trailing non-slashes.
|
||||
while (pos >= 0 && path[pos] != Sep[0])
|
||||
--pos;
|
||||
|
||||
// Remove any trailing slashes.
|
||||
while (pos >= 0 && path[pos] == Sep[0])
|
||||
--pos;
|
||||
|
||||
if (pos < 0)
|
||||
return path[0] == Sep[0] ? Sep : ".";
|
||||
|
||||
return path.substr(0, pos+1);
|
||||
}
|
||||
|
||||
// Include the truly platform-specific parts of this class.
|
||||
#if defined(LLVM_ON_UNIX)
|
||||
#include "Unix/Path.inc"
|
||||
|
@ -319,10 +319,6 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
|
||||
}
|
||||
|
||||
|
||||
StringRef Path::getDirname() const {
|
||||
return getDirnameCharSep(path, "/");
|
||||
}
|
||||
|
||||
StringRef
|
||||
Path::getSuffix() const {
|
||||
// Find the last slash
|
||||
|
@ -251,11 +251,6 @@ Path Path::GetMainExecutable(const char *argv0, void *MainAddr) {
|
||||
|
||||
// FIXME: the above set of functions don't map to Windows very well.
|
||||
|
||||
|
||||
StringRef Path::getDirname() const {
|
||||
return getDirnameCharSep(path, "/");
|
||||
}
|
||||
|
||||
StringRef
|
||||
Path::getSuffix() const {
|
||||
// Find the last slash
|
||||
|
Loading…
x
Reference in New Issue
Block a user