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: (cd $P && pwd) fails for path >255 chars


On Oct  7 11:50, Ladislav Michl wrote:
> Hi,
> 
> while building Cygwin hosted toolchain build was mysteriously failing with
> 'No such file or directory'. Here's a test case:
> 
> P=/tmp
> for i in 1 2 3 4 5 6 7 8
> do
>   P=$P/this_is_somewhat_very_long_path
> done
> mkdir -p $P
> (cd $P && pwd)
> 
> pwd outputs just '.', but once editing loop to end at 7th iteration (thus
> making path shorter than 255 characters) it prints path correctly.
> 
> The problem is that 'cd' cannot change directory to path longer that 255
> characters and fails silently with exit status 0. Is it known/expected
> behaviour?

It is not known behaviour and it's rather weird.  If you try to cd into
this directory on the command line it works fine.  And pwd works fine
as well.  Just as part of the shell script it fails.

That looks like a bash bug.  If you convert the script to tcsh syntax,
you'll see that it works fine in tcsh:

  set P = /home/corinna/tmp
  foreach i ( 1 2 3 4 5 6 7 8 )
    set P = $P/this_is_somewhat_very_long_path
  end
  mkdir -p $P
  (cd $P && pwd)

I also tried with path lengths of more than 6000 chars.


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


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