This is the mail archive of the cygwin-patches@cygwin.com 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] |
At 01:39 PM 10/30/2004 -0400, you wrote: >On Fri, Oct 29, 2004 at 06:01:51PM -0400, Pierre A. Humblet wrote: >>Here is a patch that should allow unlink() to handle >>nul etc.. on local disks. >> >>It's a cut and paste of Corinna's open on NT and the >>existing CreateFile. >> >>It works on normal files. I haven't tested with the >>special names because I forgot how to create them ! >>Feedback welcome. >> >>XXXXX This should NOT be applied in 1.5.12 XXXXXX >> >>Pierre >> >>2004-10-29 Pierre Humblet <pierre.humblet@ieee.org> >> >> * syscalls.cc (nt_delete): New function. >> (unlink): Call nt_delete instead of CreateFile and remove >> unreachable code. > >Corinna suggested something similar to me a couple of months ago but I >wanted to wait for things to settle down somewhat after the original >use of NtCreateFile. > >On reflection, however, wouldn't it be a little easier just to prepend >the path being deleted with a: \\.\ so that "rm nul" would eventually >translate to DeleteFile("\\.\c:\foo\null") (I'm not using true C >backslash quoting here)? I don't know if that would work on Windows 9x, >though. That would work on NT, but then one would need to check if the input path didn't already have the form //./xx, worry about exceeding max pathlength, etc... The patch cleanly handles all of that, is symmetrical to file creation, and is very efficient. I cleaned it up a little and tested readonly hard links and other weird cases. It's good to go but I still wouldn't include it in 1.5.12 if it's coming out this weekend. Pierre 2004-10-31 Pierre Humblet <pierre.humblet@ieee.org> * syscalls.cc (nt_delete): New function. (unlink): Call nt_delete instead of CreateFile and remove unreachable code.
Attachment:
ntdelete2.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |