This is the mail archive of the cygwin-talk mailing list for the cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Handling special characters (\/:*?"<>|) gracefully


On 24 May 2006 10:01, Brian Dessent wrote:

> mwoehlke wrote:
> 
>> (Speaking of case sensitivity, is it a Windows limitation that Cygwin
>> can't do this? I'm pretty sure it isn't an NTFS limitation, as Interix
>> has true case-sensitivity.)
> 
> As I understand it, the win32 API preserves case but is not case
> sensitive.  The native API is both, so in theory an application that
> used only native calls could cope with both README and Readme, but no
> win32 app could.  

  Not so.  See MSDN://CreateFile/FILE_FLAG_POSIX_SEMANTICS.  The actual
requirement is "NTFS not FAT" rather than "Native API not Win32 API".

> So, from the standpoint of Cygwin this is pretty
> useless as A) it would take significant code rewrites to use the native
> API everywhere (not to mention backcompat hell for 9x/ME) and B) it
> would lead to the situation (which we briefly got a taste of somewhere
> in a past 1.5.x release) where Cygwin was able to create files that
> could not be deleted by Explorer or any other regular Windows app.

  Well, the /real/ problem about those files (which matched DOS special device
names) was that you couldn't remove them from cygwin either; not being able to
delete them from the very same command shell where you created them is far
worse than having to use the same tool to delete something that you used to
create it.  


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]