Fix duplicate Uri ToString for DOS-like custom schemes #121930
Merged
+46
−14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The fix in #36429 wasn't quite right because DOS-like Uris may appear with non-file schemes (e.g.
custom:C:/uri).This changes the condition to handle such inputs (
Dos || Unixinstead ofFile && !Unc).The change with checking for
InFact(Flags.AuthorityFound)is specific for custom schemes with DOS-like inputs.It ensures that
custom:C:/uriandcustom:C:/üri(with non-ASCII or not) behave similarly withToStringand preserve whether:vs://was used.Fixes #94572