X-Spam-Check-By: sourceware.org From: ericblake AT comcast DOT net (Eric Blake) To: Yitzchak Scott-Thoennes , cygwin AT cygwin DOT com Subject: Re: open() giving ENOENT when trying to create files with control chars Date: Fri, 09 Dec 2005 00:31:32 +0000 Message-Id: <120920050031.22095.4398D06400029F6F0000564F22070009530A050E040D0C079D0A@comcast.net> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com From: Yitzchak Scott-Thoennes > > Moving on to another "non-portable" problem, I want to create a file > with a space at the end of the name, but cygwin is stripping spaces. > Despite the comment in the code, this does seem to be allowed (though > I suspect it may be via NtCreateFile only, since windows commands > don't seem to handle filenames with spaces at the end well). I tried > this: Windows strips trailing spaces and dots (unless the file name consists only of spaces). You need a managed mount to preserve those; otherwise "foo ", "foo.", "foo. . . . ", "foo", and a bunch of other spellings all refer to the same file. Unlike in the other case (non-portable characters, which POSIX allows an implementation to reject), the stripping of trailing '.' from filenames is a violation of POSIX, but since Windows is the culprit, cygwin cannot avoid it (except with the overhead of managed mounts). -- Eric Blake -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/