[PATCH] Fix parameter passing containing quote/equal to Windows batch command

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sat Jan 25 06:35:00 GMT 2014

On Fri, Jan 24, 2014 at 03:14:30PM -0800, Daniel Dai wrote:
>Hi, Christopher,
>The current logic is: if the parameter contains quote, then put a
>quote around the parameter (winf.cc:78). However, if the quote is in
>the beginning/end, cygwin will still quote it, and thus double quoted
>parameter (such as ""a=b"").

That is as intended.  It doesn't matter where the quote is.  This is an
argv list.  Quotes don't mean anything in a UNIX argv list.  They do
need to be quoted for Windows though.

So, if there is a quote at the beginning of argv[7], then the process
should see a quote in argv[7].

If I say pass "\"a=b\"", the subprocess should diligently report "a=b"
quotes and all.  That is what it does now after my change.

AFAICT, this is all working as it should.


More information about the Cygwin-patches mailing list