Process argument passing problems

Hans-Bernhard Bröker HBBroeker@t-online.de
Fri Jun 21 20:15:00 GMT 2019


Am 21.06.2019 um 17:19 schrieb reiter.christoph@gmail.com:
> Hey everyone,
> 
> I have to following problem (using cmd.exe):
> 
> C:\cygwin64\home\xy>C:\cygwin64\bin\echo.exe -DFOO=\"BAR\" -DBAR=\"FOO\"
> -DFOO=\BAR" -DBAR="FOO"
> 
> I would have expected:
> 
> -DFOO="BAR" -DBAR="FOO"

Expecting cmd.exe to parse command lines in anything resembling a sane
way is, unfortunately, an exercise in futility.

Microsoft allowed blanks in filenames with hardly any regard for the
concepts of command lines and their parsing.  We're still fighting with
the repercussions now, 25 years later.

> Context: I'm executing various cygwin programs through (native) Python and
> passing C macros to gcc like 'gcc -DFOO=\"BAR\"' fails because of this.

Are you sure Python even goes through cmd.exe to pass those command
lines?  If it doesn't, figuring out what cmd.exe does may be even less
fruitful than it already is.

> More background: https://github.com/msys2/MINGW-packages/issues/3548

Please note that that's about MSYS2, which, while closely related to
Cygwin, is not really the topic of this mailing list.

--
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



More information about the Cygwin mailing list