Repository navigation
fix(libc): resolve case differences in guest paths and mounts - #1321
Conversation
|
Rebased on Fedora 44 Release: |
99e4e4c to
7dded01
Compare
Resolve ASCII case differences in guest paths and mount aliases while preferring exact names and rejecting ambiguous fallback matches. Preserve new filenames and host roots. Five filesystem tests pass; Skyrim now loads its INI and shader archives, initializes Vulkan and uploads intro textures instead of dereferencing null shader metadata. Written with AI assistance.
Co-Authored-By: Claude <noreply@anthropic.com>
|
Rebased onto current Checked: full build and ctest on the rebase (452/452); #1079 touches the same function and test file; this one supersedes it, so #1079 should be closed once this lands. Merging when CI is green. |
7dded01 to
aee56e1
Compare
What
Resolve ASCII case differences in guest paths and mount aliases. Prefer exact names, preserve new filenames, and reject ambiguous fallback matches. Do not cache directory results, so renames stay visible.
Supersedes #1079. This version also handles mount aliases, blocked mounts, dangling symlinks, and ambiguous names. Tests use guest file APIs as well as path resolution. #1101 concerns Windows module dependency names, a separate path.
Tested
Fedora 44, Release: path-case, app-content, working-directory, directory, and filesystem tests. Covers open, read, create, stat, rename, removal, aliases, and conflicting names. Contribution checks pass.
The combined fork loaded Skyrim files that differ in case from requested names. This isolated branch was not run in-game. Unicode folding and console behavior for case collisions remain unverified; Windows was not tested.
Checklist
main; prerequisite and competing implementation checked.