Remove most preemptive checks from GetFullPath (#16478)
authorJeremy Kuhne <jeremy.kuhne@microsoft.com>
Thu, 22 Feb 2018 20:13:59 +0000 (12:13 -0800)
committerGitHub <noreply@github.com>
Thu, 22 Feb 2018 20:13:59 +0000 (12:13 -0800)
commita0cfda07fbdc319d8e5137a1b28d190ec242597e
tree0a051e80cdd0c728b7b02440fcfd653cb1f207e2
parent593782e030e803d93562ff802be984681959f2dd
Remove most preemptive checks from GetFullPath (#16478)

* Removing the colon block that tosses out paths that are not device path.

Fixes: #26359

* Striping 2nd and 3rd args of PathHelper.Normalize

* Build on Maryam's changes

- Remove all path validity checks outside of
    - Null
    - Embedded null
    - Empty or all spaces (effectively empty)
- Remove PathStartSkip helper
- Use span overloads for StringBuffer usage
- Clean up some comments

* Address feedback

* Tweak to match other AsSpan methods
src/mscorlib/shared/System.Private.CoreLib.Shared.projitems
src/mscorlib/shared/System/IO/Path.Windows.cs
src/mscorlib/shared/System/IO/Path.cs
src/mscorlib/shared/System/IO/PathHelper.Windows.cs
src/mscorlib/shared/System/IO/PathInternal.Windows.StringBuffer.cs [deleted file]
src/mscorlib/shared/System/IO/PathInternal.Windows.cs
src/mscorlib/shared/System/IO/Win32Marshal.cs
src/mscorlib/shared/System/Runtime/InteropServices/StringBuffer.cs