>> what is so different about your file system that you think you need to
> change the behavior of explorer for it ?
The driver would be like useless, if user can’t copy his files (that have
path greater than MAX_PATH) to windows. If user can’t read those files.
Don’t want to rely on windows restrictions.
Something has to be done like rename a file with lengthy names, or invalid
characters that NTFS don’t support.
e.g. Just modify the lengthy file names to something smaller, modify the
invalid characters (* : ? |) to underscore “_” or hyphen “-”.
Insufficient. It is FAR more complex than that. If you want Winows to
read the file “a*B” (which is not the same as “A*b”) then yes, you could
open “A_B”, but the which of tbe two files do you open? And for your
suggested solution, how would you handle “a:B”, “A?B” and “a|b”? And what
if there is already “A_B”? What if there were 28 directories in the path,
each one being 8.0 in length (fewer if 8.n for n >= 1; more, if m.n for
arbitrary m,n such that m+n <= 11, and what happens if a directory is
renamed?
What if my app opens “a*b.c” and the output should be “a*b.obj”? And the
other side of the interface is expecting “a*b.obj”. And you also want to
compile the file “a_b.c” and “a?b.c”, and have the filesystem on the other
side do the linking. So you could do something like HTML, convert the
symols, such as converting “a*b” to “a&42;b” which means that if you have
a file called “a&b” it turns into “a&b”. The advantage of this
transformation is that it is bidirectional and isomorphic. It still
doesn’t solve the MAX_PATH problem, but at least it is a usable solution
to the illegal-character problem.
I had thought you would have considered all these issues, but your idea of
mapping forbidden characters to a single valid character shows a rather
superficial analysis of the problem.
joe
NTFSD is sponsored by OSR
OSR is hiring!! Info at http://www.osr.com/careers
For our schedule of debugging and file system seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer