Implement osfs heirarchy for robust access to native operating system paths
Troy Rollo
wine at troy.rollo.name
Thu Jun 9 20:31:49 CDT 2005
This patch is available for SVK merging:
svn://troy.wine-branches.troy.rollo.name/troy/branches/osfs-path-translation
Description
Add the \\?\osfs\ file heirarchy, which maps between native operating system
paths and the heirarchy in a way that meets the following rules:
* Each path element in the native heirarchy corresponds to a path element
in the osfs heirarchy.
* Names in the osfs heirarchy are case insensitive regardless of the case
sensitivity of the underlying file system, so that if the case of the
name is changed anywhere it is still translatable back to the original
file name.
* Characters that are valid in file names in the operating system but not
in the NT file system are replaced with representations that are valid in
the NT file system.
* Mappings are deterministic - the mapping from /home/me/Makefile always
refers to a file of that name in the case of a UNIX osfs, and never to
"/home/me/makefile" (currently in Wine you can use "/home/me/Makefile" as
a path name provided that UNIX path is within some mapped Wine drive, but
if that file does not exist and /home/me/makefile does, then the unix
path will hit that latter file).
* Mappings are roundtrippable - native file -> osfs heirarchy -> native file
translations always return the original native file name.
* Manipulations on path elements that either remove characters from, or add
characters to, the end of a file name, will normally produce the right
results when the mapping back to the native file name is performed.
ChangeLog:
Add the \\?\osfs\ heirarchy for passing operating system paths through
Wine APIs.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: osfs-path-translation.patch
Type: text/x-diff
Size: 43567 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050610/096c5bdf/osfs-path-translation.bin
More information about the wine-patches
mailing list