This is the mail archive of the
mailing list for the Cygwin project.
Re: CreateProcess() - executed program gets different argument depending if it's compiled with gcc (cygwin) or cl (VS)?
- From: Ilguiz Latypov <ilatypov at infradead dot org>
- To: cygwin at cygwin dot com
- Cc: Piotr Krukowiecki <piotr dot krukowiecki dot news at gmail dot com>
- Date: Thu, 18 Feb 2010 19:58:35 -0800 (PST)
- Subject: Re: CreateProcess() - executed program gets different argument depending if it's compiled with gcc (cygwin) or cl (VS)?
> Thanks to your createprocess.c/dumpargs.c pair, I could figure the existing
> Cygwin's parsing without looking into its source code. It turned to ignore the
> escaping power of a bare (unquoted) backslash when it was followed by a double
> quote, which is against both MSVC and Bash rules.
Forgot to mention that in the comparison chart.
Bare backslashes Bare backslashes A quoted backslash A quoted backslash
not followed by a followed by a not followed by a followed by a
double quote double quote: special character special character
pairs with the
MSVC regular yes yes regular regular
Bash protecting yes yes regular protecting
Cygwin regular yes no regular protecting
> So I guess the confusion remains as to why (a) C != M and (b) C != B.
Due to the possibility of receiving the command line by both Windows native and Cygwin application, the only question is why C != M.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple