On Jun 14 18:01, DJ Delorie wrote: > > > This is wrong as not all FSs are case insensitive. In fact HFS+ can > > be case sensitive too. I think you need better check than just > > saying all Darwin is case insensitive. This is just like using > > FAT32 on Linux. In fact I think HAVE_DOS_BASED_FILE_SYSTEM is > > incorrect also for NTFS as it can also be case sensitive. > > There's a difference between case preserving and case sensitive, > though, and we really don't have a portable way to detect > case-sensitivity on a per-directory basis, sow how can we do better?
As Andrew points out, NTFS can be case-sensitive as well, and on Windows the case-sensitivity vs. case-preserving behaviour can be chosen for each file or directory descriptor at the time the file is opened. IMHO it's actually a pity that the filename comparison behaves differently on different systems. I think it would make sense to behave identical on all systems. What about this: Always search case-sensitive. If file has been found, return. Otherwise, search case-insensitive. Talking about case-insensitive comparison, the filename_cmp and filename_ncmp functions don't work for multibyte codesets, only for singlebyte codesets. Given that UTF-8 is standard nowadays, shouldn't these functions be replaced with multibyte-aware versions? Along the same lines, the entire set of safe-ctype functions only work for ASCII and EBCDIC... Corinna -- Corinna Vinschen Cygwin Project Co-Leader Red Hat