This is the mail archive of the cygwin 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: Long file names not working in cygwin-1.7.0-48


"Christopher Faylor" <cgf-use-the-mailinglist-please@cygwin.com> wrote in 
message 20090529183702.GA28223@ednor.casa.cgf.cx">news:20090529183702.GA28223@ednor.casa.cgf.cx...
> On Fri, May 29, 2009 at 09:39:23AM -0700, jpa wrote:
>>"Christopher Faylor" wrote:
>>>On Wed, May 27, 2009 at 05:11:55PM -0700, jpa wrote:
>>>># Create long directory path fails (255 a's/255 b's mkdir -p /tmp/[SNIP
>>>>long dir name]>
>>>Thanks for the test case.  This should be fixed in the next snapshot
>>>which is building now.  I'll be in bed before it finishes but if there
>>>are problems uploading it I'll restart it tomorrow.
>>>
>>>http://cygwin.com/snapshots/
>>>
>>>Btw, the second set of "b"'s isn't necessary.  A single b would trigger
>>>the problem.
>>
>>Thank you.  This problem has been fixed with the 5-28-2009 snapshot.
>>Unfortunately I now have a different but probably related problem.  I
>>am unable to create a file or directory with a period as the first
>>character.
>>
>>mkdir .test returns "/bin/mkdir: cannot create directory `.test': No
>>such file or directory"
>
> l:\>bash
> bash-3.2$ cd /tmp
> bash-3.2$ mkdir .test
> bash-3.2$ exit
> exit
>
>>However this only happens in my cwrsync installation which uses cygwin.
>>Rolling back to 1.7.0-48 allows periods at the beginning. In my test 
>>install
>>of cygwin on a WinXP box I can't trigger the error.
>
> Sorry but I don't care about cwrsync.  If you can generate a test case
> for a bona fide Cygwin installation, I'll investigate.
>
> FWIW, it is hard to believe that the change I made for this would affect
> files beginning with dots in any way.
>
> cgf
>

Thanks for testing. I can't tell what's different about my cwrsync config so 
I strace'd a test mkdir with a period using a 1.7.0-48 and snapshot cygwin 
dll and looked for differences. I found several differences where a \ was at 
the end of some lines where it wasn't in the successfull pass.

I've reduced the strace from an unsuccessful run to this:
 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program 
Files\ICW\Bin\, no-keep-rel, add-slash)
 normalize_win32_path: C:\Program Files\ICW\Bin\ = normalize_win32_path 
(C:\Program Files\ICW\Bin\)
 mount_info::conv_to_posix_path: /Bin/ = conv_to_posix_path (C:\Program 
Files\ICW\Bin\)
 cwdstuff::get: posix /Bin/
 cwdstuff::get: (/Bin/) = cwdstuff::get (0xA701A0, 32768, 1, 0), errno 0
 normalize_posix_path: /Bin//.test = normalize_posix_path (.test)
 mount_info::conv_to_win32_path: conv_to_win32_path (/Bin//.test)
 set_flags: flags: binary (0x2)
 mount_info::conv_to_win32_path: src_path /Bin//.test, dst C:\Program 
Files\ICW\Bin\\.test, flags 0x3000A, rc 0
 __set_errno: save_errno::~save_errno():47 val 0
 __set_errno: save_errno::~save_errno():47 val 0
 symlink_info::check: 0xC0000033 = NtQueryInformationFile (\??\C:\Program 
Files\ICW\Bin\\.test)
 symlink_info::check: not a symlink
 symlink_info::check: 0 = symlink.check (C:\Program Files\ICW\Bin\\.test, 
0x223848) (0x3000A)
 mount_info::conv_to_win32_path: conv_to_win32_path (/Bin/)

Where a successful run produces this:
mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program 
Files\ICW\Bin, no-keep-rel, no-add-slash)
 normalize_win32_path: C:\Program Files\ICW\Bin = normalize_win32_path 
(C:\Program Files\ICW\Bin)
 mount_info::conv_to_posix_path: /Bin = conv_to_posix_path (C:\Program 
Files\ICW\Bin)
 cwdstuff::get: posix /Bin
 cwdstuff::get: (/Bin) = cwdstuff::get (0xA701A0, 32768, 1, 0), errno 0
 normalize_posix_path: /Bin/.test = normalize_posix_path (.test)
 mount_info::conv_to_win32_path: conv_to_win32_path (/Bin/.test)
 set_flags: flags: binary (0x2)
 mount_info::conv_to_win32_path: src_path /Bin/.test, dst C:\Program 
Files\ICW\Bin\.test, flags 0x3000A, rc 0
 __set_errno: save_errno::~save_errno():47 val 0
 __set_errno: save_errno::~save_errno():47 val 0
 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\C:\Program 
Files\ICW\Bin\.test)
 __set_errno: save_errno::~save_errno():47 val 0
 __set_errno: save_errno::~save_errno():47 val 0
 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\C:\Program 
Files\ICW\Bin\.test.lnk)
 symlink_info::check: 0 = symlink.check (C:\Program Files\ICW\Bin\.test, 
0x223848) (0x3000A)





--
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/


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