On Apr 22 14:12, Corinna Vinschen wrote: > On Apr 22 13:44, DEWI - N. Zacharias wrote: > > > > Hi Corinna, > > > > please have a look at the attachment. > > Thank you. Oh well. When trying to open the file to check for its > existance, the NT status code is STATUS_OBJECT_NAME_NOT_FOUND which is > equivalent to the POSIX errno ENOENT, "No such file or directory". > > Only afterwards, when trying to create the file, the status code is > STATUS_OBJECT_NAME_INVALID. Too late for Cygwin. > > That's tragic.
I've just applied a patch which is supposed to fix this problem. The core component which evaluates a file and performs basic checks now handles the case STATUS_OBJECT_NAME_NOT_FOUND specially. It checks if the filename has leading spaces and/or trailing dots and spaces. If so, it checks the filesystem. If it's one of the known FSes with broken (aka DOS-only) path handling, it removes the offending leading spaces and trailing dots and spaces and tries again. So this: $ touch " abc ... " will create the file " abc ... " for instance on NTFS or FAT, but it will create the file "abc" on NetApp, NWFS and other filesystems recognized as CIFS (but not Samba). This behaviour is equivalent to the behaviour in native Win32 applications and in Cygwin 1.5. While I tested the patch, I had to fake a detail to make it work on NTFS. I have no access to one of the broken filesystems myself, so a bit of testing under real-life conditions would be quite helpful. So I'd like to urge all users who could reproduce the aforementioned problems to test the *next* Cygwin DLL from the Cygwin Developer Snapshots URL http://cygwin.com/snapshots/ and report back if it works or if it doesn't. *If* it doesn't work, please report the FS and describe the scenario. Oh, hey, the cvs problem which started this thread would be quite a nice test. Thanks in advance, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple