forked from OSchip/llvm-project
[lldb] Return the original path when tilde expansion fails.
Differential revision: https://reviews.llvm.org/D92513
This commit is contained in:
parent
ea0029f55d
commit
dcdd231df6
|
@ -75,9 +75,8 @@ bool StandardTildeExpressionResolver::ResolvePartial(StringRef Expr,
|
|||
|
||||
bool TildeExpressionResolver::ResolveFullPath(
|
||||
StringRef Expr, llvm::SmallVectorImpl<char> &Output) {
|
||||
Output.clear();
|
||||
if (!Expr.startswith("~")) {
|
||||
Output.append(Expr.begin(), Expr.end());
|
||||
Output.assign(Expr.begin(), Expr.end());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -85,8 +84,10 @@ bool TildeExpressionResolver::ResolveFullPath(
|
|||
StringRef Left =
|
||||
Expr.take_until([](char c) { return path::is_separator(c); });
|
||||
|
||||
if (!ResolveExact(Left, Output))
|
||||
if (!ResolveExact(Left, Output)) {
|
||||
Output.assign(Expr.begin(), Expr.end());
|
||||
return false;
|
||||
}
|
||||
|
||||
Output.append(Expr.begin() + Left.size(), Expr.end());
|
||||
return true;
|
||||
|
|
|
@ -31,6 +31,9 @@ TEST(TildeExpressionResolver, ResolveFullPath) {
|
|||
EXPECT_EQ("/lars", Result);
|
||||
|
||||
ASSERT_FALSE(Resolver.ResolveFullPath("~Jaso", Result));
|
||||
EXPECT_EQ("~Jaso", Result);
|
||||
ASSERT_FALSE(Resolver.ResolveFullPath("", Result));
|
||||
EXPECT_EQ("", Result);
|
||||
ASSERT_FALSE(Resolver.ResolveFullPath("Jason", Result));
|
||||
EXPECT_EQ("Jason", Result);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue