Skip to content

Restore canonical path building behavior on windows (Closing #1077) #1108

Draft
AdamGS wants to merge 2 commits intoservo:mainfrom
spiraldb:adamg/win-path-issue-1077
Draft

Restore canonical path building behavior on windows (Closing #1077) #1108
AdamGS wants to merge 2 commits intoservo:mainfrom
spiraldb:adamg/win-path-issue-1077

Conversation

@AdamGS
Copy link
Copy Markdown

@AdamGS AdamGS commented Mar 20, 2026

Closes #1077.

Currently, only two exact formats for the first segment are handled — a 2-byte literal drive letter (C:) or a 4-byte percent-encoded one (C%3A). Anything else was rejected. The new code percent-decodes the entire first segment, which means it now handles segments that contain the full path with encoded separators, like C%3A%5CUsers%5Cme or C:%2FUsers%2Fme.

Handling this case restores the ability to roundtrip this kind of cases through to_file_path, which object_store and a bunch of crates depending on it, also just seems more robust.

AdamGS added 2 commits March 20, 2026 14:05
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Behavior change parsing Windows file paths using path_segments_mut.extend

1 participant