[PATCH] Cygwin: spawn: Treat empty path as the current directory.

Takashi Yano takashi.yano@nifty.ne.jp
Fri Jul 1 23:31:07 GMT 2022


On Thu, 30 Jun 2022 21:16:35 -0400
Ken Brown wrote:
> On 6/30/2022 11:45 AM, Ken Brown wrote:
> > On 6/27/2022 8:44 AM, Takashi Yano wrote:
> >> - With this patch, the empty path (empty element in PATH or PATH is
> >>    absent) is treated as the current directory as Linux does.
> >> Addresses: https://cygwin.com/pipermail/cygwin/2022-June/251730.html
> > 
> > It might be a good idea to include a comment in the code and the commit message 
> > that this feature is being added for Linux compatibility but that it is 
> > deprecated.  According to https://man7.org/linux/man-pages/man7/environ.7.html,
> > 
> >                As a legacy feature, a zero-length prefix (specified as
> >                two adjacent colons, or an initial or terminating colon)
> >                is interpreted to mean the current working directory.
> >                However, use of this feature is deprecated, and POSIX
> >                notes that a conforming application shall use an explicit
> >                pathname (e.g., .)  to specify the current working
> >                directory.
> > 
> > Alternatively, maybe this is a case where we should prefer POSIX compliance to 
> > Linux compatibility.  Corinna, WDYT?
> 
> I withdraw my suggestion.  There's already a comment in the code saying, "An 
> empty path or '.' means the current directory", so it's clear that the intention 
> was to support that feature, and the code was simply buggy.
> 
> I've now read through the patch, and it looks good to me.  This was pretty 
> tricky to get right.

We still need to discuss whether it is better to align Linux
behavior or just keeping POSIX compliance, don't we?

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin-patches mailing list