This is the mail archive of the cygwin-patches@cygwin.com 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: [Patch]: chdir


On May  5 23:58, Pierre A. Humblet wrote:
> After mulling over it, I simplified chdir even more
> in the interest of uniformity (it matters for unc paths).
> Now cwd.set is always called with only the native_dir.
> 
> That means that cwd.set always attempts to build the
> Posix wd through the mount table.
> Up to now that was only the case when a symlink was
> involved in the translation, or there was a ":" or a "\" 
> in the directory name, or check_case was not relaxed.
> 
> Pierre
> 
> 2004-05-06  Pierre Humblet <pierre.humblet@ieee.org>
> 
> 	* path.cc (chdir): Do not check for trailing spaces.
> 	Do not set native_dir to c:\ for virtual devices.
> 	Pass only native_dir to cwd.set.
> 	(cwdstuff::set): Assume posix_cwd is already normalized.

Looks pretty good to me.  I think calling cwd.set always with a
NULL pointer is a good idea.  The resulting posix path is guaranteed
to be right.

Did you try find(1)?  Do you recall the problems we had with find years
ago when crossing a mount point?  I tried to create a scenario but
either it works fine or I failed to set that up correctly.  It would
be nice if we could make sure that these cases work.  I tried some
combinations with symlinks and they are working well, AFAICS.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Co-Project Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.


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