Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use DefaultPathSeparator char instead of DefaultPathSeparatorString #8082

Merged
merged 5 commits into from
Oct 31, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -522,7 +522,7 @@ internal PathInfo SetLocation(string path, CmdletProviderContext context)
// current working directory is relative to the root.

if (!LocationGlobber.IsProviderDirectPath(path) &&
path.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal) &&
path.StartsWith(StringLiterals.DefaultPathSeparator) &&
!pathIsProviderQualifiedPath)
{
path = path.Substring(1);
Expand Down
Expand Up @@ -170,7 +170,7 @@ internal static class StringLiterals
/// <summary>
/// The escape character used in the language.
/// </summary>
internal const string EscapeCharacter = "`";
internal const char EscapeCharacter = '`';

/// <summary>
/// The default cmdlet adapter for cmdletization / cdxml modules
Expand Down
Expand Up @@ -1420,8 +1420,8 @@ protected override void InvokeDefaultAction(string path)
// Don't handle full paths, paths that the user is already trying to
// filter, or paths they are trying to escape.
if ((!String.IsNullOrEmpty(filter)) ||
(path.Contains(StringLiterals.DefaultPathSeparatorString)) ||
(path.Contains(StringLiterals.AlternatePathSeparatorString)) ||
(path.Contains(StringLiterals.DefaultPathSeparator, StringComparison.Ordinal)) ||
(path.Contains(StringLiterals.AlternatePathSeparator, StringComparison.Ordinal)) ||
(path.Contains(StringLiterals.EscapeCharacter)))
{
return false;
Expand Down Expand Up @@ -4809,13 +4809,13 @@ private static bool IsPathRoot(string path)
try
{
string originalPathComparison = path;
if (!originalPathComparison.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase))
if (!originalPathComparison.EndsWith(StringLiterals.DefaultPathSeparator))
{
originalPathComparison += StringLiterals.DefaultPathSeparator;
}

string basePathComparison = basePath;
if (!basePathComparison.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase))
if (!basePathComparison.EndsWith(StringLiterals.DefaultPathSeparator))
{
basePathComparison += StringLiterals.DefaultPathSeparator;
}
Expand Down Expand Up @@ -5013,7 +5013,7 @@ private string NormalizeRelativePathHelper(string path, string basePath)
// See if the base and the path are already the same. We resolve this to
// ..\Leaf, since resolving "." to "." doesn't offer much information.
if (String.Equals(path, basePath, StringComparison.OrdinalIgnoreCase) &&
(!originalPath.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase)))
(!originalPath.EndsWith(StringLiterals.DefaultPathSeparator)))
{
string childName = GetChildName(path);
result = MakePath("..", childName);
Expand Down Expand Up @@ -5060,7 +5060,7 @@ private string NormalizeRelativePathHelper(string path, string basePath)
if (!String.IsNullOrEmpty(commonBase))
{
if (String.Equals(path, commonBase, StringComparison.OrdinalIgnoreCase) &&
(!path.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase)))
(!path.EndsWith(StringLiterals.DefaultPathSeparator)))
{
string childName = GetChildName(path);
result = MakePath("..", result);
Expand Down
12 changes: 6 additions & 6 deletions src/System.Management.Automation/namespaces/LocationGlobber.cs
Expand Up @@ -1436,8 +1436,8 @@ internal static bool IsProviderQualifiedPath(string path, out string providerId)
internal static bool IsSingleFileSystemAbsolutePath(string path)
{
#if UNIX
return path.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal)
|| path.StartsWith(StringLiterals.AlternatePathSeparatorString, StringComparison.Ordinal);
return path.StartsWith(StringLiterals.DefaultPathSeparator)
|| path.StartsWith(StringLiterals.AlternatePathSeparator);
#else
return false;
#endif
Expand Down Expand Up @@ -2898,7 +2898,7 @@ internal static bool ShouldPerformGlobbing(string path, CmdletProviderContext co
}
else
{
if (path.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (path.StartsWith(StringLiterals.DefaultPathSeparator))
{
formatString = "{0}:{1}";
}
Expand Down Expand Up @@ -3088,8 +3088,8 @@ internal static string GetDriveQualifiedPath(string path, PSDriveInfo drive)
// Check if the path begins with "\" or "/" (UNC Path or Path in Unix).
// Ignore if the path resolves to a drive path, this will happen when path is equal to "\" or "/".
// Drive path still need formatting, so treat them as relative.
if (path.Length > 1 && (path.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal) ||
path.StartsWith(StringLiterals.AlternatePathSeparatorString, StringComparison.Ordinal)))
if (path.Length > 1 && (path.StartsWith(StringLiterals.DefaultPathSeparator) ||
path.StartsWith(StringLiterals.AlternatePathSeparator)))
{
treatAsRelative = false;
}
Expand All @@ -3109,7 +3109,7 @@ internal static string GetDriveQualifiedPath(string path, PSDriveInfo drive)
if (drive.VolumeSeparatedByColon)
{
formatString = "{0}:" + StringLiterals.DefaultPathSeparator + "{1}";
if (path.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (path.StartsWith(StringLiterals.DefaultPathSeparator))
{
formatString = "{0}:{1}";
}
Expand Down
Expand Up @@ -345,7 +345,7 @@ protected string MakePath(string parent, string child, bool childIsLeaf)

// Append the default path separator

if (parent.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (parent.EndsWith(StringLiterals.DefaultPathSeparator))
{
result = parent;
}
Expand Down Expand Up @@ -377,9 +377,9 @@ protected string MakePath(string parent, string child, bool childIsLeaf)

StringBuilder builder = new StringBuilder(parent, parent.Length + child.Length + 1);

if (parent.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (parent.EndsWith(StringLiterals.DefaultPathSeparator))
{
if (child.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (child.StartsWith(StringLiterals.DefaultPathSeparator))
{
builder.Append(child, 1, child.Length - 1);
}
Expand All @@ -390,7 +390,7 @@ protected string MakePath(string parent, string child, bool childIsLeaf)
}
else
{
if (child.StartsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.Ordinal))
if (child.StartsWith(StringLiterals.DefaultPathSeparator))
{
if (parent.Length == 0)
{
Expand Down Expand Up @@ -598,7 +598,7 @@ protected virtual string GetParentPath(string path, string root)
string originalPath = path;
Stack<string> tokenizedPathStack = null;

if (path.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase))
if (path.EndsWith(StringLiterals.DefaultPathSeparator))
{
path = path.TrimEnd(StringLiterals.DefaultPathSeparator);
originalPathHadTrailingSlash = true;
Expand All @@ -608,7 +608,7 @@ protected virtual string GetParentPath(string path, string root)
// See if the base and the path are already the same. We resolve this to
// ..\Leaf, since resolving "." to "." doesn't offer much information.
if (String.Equals(normalizedPath, normalizedBasePath, StringComparison.OrdinalIgnoreCase) &&
(!originalPath.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase)))
(!originalPath.EndsWith(StringLiterals.DefaultPathSeparator)))
{
string childName = GetChildName(path);
result = MakePath("..", childName);
Expand Down Expand Up @@ -648,7 +648,7 @@ protected virtual string GetParentPath(string path, string root)
if (!String.IsNullOrEmpty(commonBase))
{
if (String.Equals(normalizedPath, commonBase, StringComparison.OrdinalIgnoreCase) &&
(!normalizedPath.EndsWith(StringLiterals.DefaultPathSeparatorString, StringComparison.OrdinalIgnoreCase)))
TravisEz13 marked this conversation as resolved.
Show resolved Hide resolved
(!normalizedPath.EndsWith(StringLiterals.DefaultPathSeparator)))
{
string childName = GetChildName(path);
result = MakePath("..", result);
Expand Down