Mail Archives: cygwin/2005/12/08/18:22:56
On Fri, Dec 02, 2005 at 11:09:05PM +0100, Corinna Vinschen wrote:
> On Dec 2 20:38, Eric Blake wrote:
> > > I'm trying to create a file (on NTFS) with a CR in the name and getting
> > > ENOENT; is it possible for this to work (without a managed mount)?
> >
> > Welcome to Windows. None of these non-portable characters are
> > supported in filenames except in managed mounts.
>
> Just to push the point a bit, note the words "non-portable".
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:
--- path.cc.orig 2005-10-24 03:33:48.532065000 -0700
+++ path.cc 2005-12-08 11:39:23.237267200 -0800
@@ -482,7 +482,7 @@ path_conv::set_normalized_path (const ch
if (strip_tail)
{
- while (*--p == '.' || *p == ' ')
+ while (*--p == '.') // || *p == ' ')
continue;
*++p = '\0';
}
@@ -957,7 +957,7 @@ out:
/* Windows ignores trailing dots and spaces */
char *tail = NULL;
for (char *p = path; *p; p++)
- if (*p != '.' && *p != ' ')
+ if (*p != '.') // && *p != ' ')
tail = NULL;
else if (p[1] == '\\')
{
__END__
and with limited testing on XP Pro SP1 didn't find any problems. Is
it possible this space-stripping predates use of NtCreateFile? Are
there problems likely to arise with this (e.g. cygwin calling other
winapi functions that are passed filenames not correctly handling
spaces at the end)?
--
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/
- Raw text -