Re: [Bug 161797] Save as... fails in win32 when curdir is on server
- From: Tor Lillqvist <tml iki fi>
- To: gtk-devel-list gtk org
- Cc:
- Subject: Re: [Bug 161797] Save as... fails in win32 when curdir is on server
- Date: Tue, 4 Jan 2005 13:34:43 +0000
Tor Lillqvist writes:
> I will check how the Win32 FoldString() behaves, and if it matches the
> Win32 subsystem's filename casefolding behaviour.
Nah, FoldString doesn't do casefolding. LCMapString does, but that is
then locale-specific.
Some googling revealed that on NTFS the casefolding behaviour is
actually per-volume! It's defined in a case-mapping table in a hidden
file called $UpCase on each NTFS volume. Sigh.
I wonder how much variation there are in the contents of the $UpCase
files on NTFS volumes on the Windows machines out there? Do different
Windows versions generate slightly different $UpCase table when
formatting NTFS volumes? Or does it even depend on the locale of the
user doing the formatting? Anyway, it's of course impossible to open
and read the $UpCase file. This is getting way too complex...
BTW, the Linux NTFS driver has code to produce a "default" $UpCase
table (fs/ntfs/upcase.c). But that code is GPL, so it can't be
included in GTK+ as such. I could of course just run the code and
include the generated data in GTK+. But is worth it? Would it be good
enough to just casefold the ASCII characters when comparing Win32 path
names in GTK+?
--tml
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]