std.path review: update
Steven Schveighoffer
schveiguy at yahoo.com
Wed Jul 20 07:09:19 PDT 2011
On Tue, 19 Jul 2011 15:55:29 -0400, Nick Sabalausky <a at a.a> wrote:
> If such mountings are possible, it would seem that there must be some
> way to
> check the sensitivity (otherwise the OS itself would probably crap out on
> it).
I've done it before, mounted a windows share on a linux box via cifs.
What happens is, everything thinks it's case sensitive (i.e. any
user-space tools), but when you go to open a file, write a file, rename a
file, the share performs as if it were case insensitive.
For example:
ls /mnt/winshare
File.txt
find /mnt/winshare -name FILE.TXT
No files found
touch /mnt/winshare/FILE.TXT => updates date/time on File.txt
cat /mnt/winshare/FILE.TXT => outputs File.txt
So as long as you are performing operations *blindly*, the case
insensitivity kicks in. For example, open a file without first searching
for it. But if you start reading directories, tools have no idea it's on
a case-insensitive filesystem.
> Although, at least in the case of case-insensitive mountings on posix,
> doesn't that mean such paths would have both case-sensitive and
> case-insensitive parts?
>
> Ex: /mount/damnWinDrive/dir/subdir
>
> Wouldn't the "mount/damnWinDrive" part be case-sensitive and the
> "dir/subdir" part be insensitve?
Yes, actually, this is a very good point. And there's no way for std.path
to make that distinction.
> (I'm starting to really despise case-insensitive filesystems.)
I've never understood why they have any benefits whatsoever. The only
reason I can think of them having any use is legacy.
-Steve
More information about the Digitalmars-d
mailing list