X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:reply-to:to:subject:date:message-id
	:references:in-reply-to:content-type:content-transfer-encoding
	:mime-version; q=dns; s=default; b=vmbpohQ1MFrH+a4V7Y26rGC6xEybP
	/dGDIGUmYSB7dd/a1bJ1xQWaUvv12tkFGOkb1aBV5fvY0xxdUWwtbiBjGKQQCy3U
	Pjk3vpvWcAtTQ6ioeSE0+pRrLd1eWdZttwUfqcwRSs/mB9T8eGrLWMC5DDQUavYn
	1OQooFStaLiQpc=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:reply-to:to:subject:date:message-id
	:references:in-reply-to:content-type:content-transfer-encoding
	:mime-version; s=default; bh=gFWETXmbuXa+B5n0xtLG6WzmGrk=; b=Azy
	WukH+dc4//b9teT3JtUzo5UXhGCwAow6JrgVzPc6HurY5kc18pSvyH/DpWIFXh0C
	9XvPr7D5j+oiAKB82c43RnFZWNSStcofJbUl6jGgZgAc/0I3ul7d8Xfn+t6K+4KS
	3xFviyiLRJBsVmIGeG5QvZ/Osh+MtaK50tUnETsE=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:1166
X-HELO: NAM01-BN3-obe.outbound.protection.outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ywgp5McT6BglhQx++GiBxDrqf3hb9jJuwumWuz75FPmNcTBO0e+RjDxnvrlkI1to4c42S5Z3daoEzJZK0Kp7zPQF8SYg5v7do7w4GEZUSmn2ZdRzF1C+73wLX/pNJ58Ecr8+ybxOmUgEVTd/HgI5CQZaXmwJPjf6hkQ1iK1AqXsGgikTTN7UNL3wmEeUIovxElgE7wPp1rSgCcXNjkn1FF/3lfG1TqQTNfCpEwwVpYj9dBN/rDuVlfIGQOmYw3axFBoczwC+yLpZhIw9bITazbHbjlNBc3Na2CnUTpyGo8CmGDTM6GrNpi1ytY0QXpYU14xAH4dvbZAxOMOMwVi67w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IqnsTxSx5YZbKCiZv8qJVc4h3rKcnqwr9myT0wQZhfE=; b=LbYXX4A8ssDo6Fb9xWORPxcEQjPOwOpkLeXc3fvuag6fIjym+vHDj4QHovi1umW9HlYcx9BpljLppyPDEGl5sGXaoy4cBQQdLBiom1xpgCgNwh4UJjJwrnkNneiqZKqlCGs2RGn4Y/FvgL8BQw2mF3q/aQQ661xae4BH30UfjgVbxrrgw1TMhepPhLmHgk8cz5g1XA1mPHBHZ+yPUUsKDnv72curGbiKlmJWmrrYoQ4ceW6gUzUDoBITmTDkoccfHPk5HvtCWOLxVnlL5t1HFvkgFdxt2qo6g5JqcTUz0R4BelqMSOBaFYfFdSf6NB3nYWiAV7ayTBz8xnrDML47HA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IqnsTxSx5YZbKCiZv8qJVc4h3rKcnqwr9myT0wQZhfE=; b=Il1bb3mRihOFP/V5qDFzOy7L1FM995Tlnsql7v3/xbAFjbfNeiIwQzLVJ9KMU+hM8W6MFXxIuJ/YZ8mnKa4IUK0f+qmNSL8tLK/SxLkBdCFDvfEc8RyDFYH+JWTzJQvT8356yPj5P7meUWnm0Cw+cv95JVMVC/iav7NLjVyGUUg=
From: "Stephen Provine via cygwin" <cygwin@cygwin.com>
Reply-To: Stephen Provine <stephpr@microsoft.com>
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: RE: Command line processing in dcrt0.cc does not match Microsoft parsing rules
Date: Fri, 6 Sep 2019 06:20:16 +0000
Message-ID: <MWHPR21MB0845F7CD75F749D79705F0D8B9BA0@MWHPR21MB0845.namprd21.prod.outlook.com>
References: <MWHPR21MB08452919F35B1B0C5F0EB4DCB9BD0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB0845F78385792965A94E0CD9B9BD0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB084508155AB621C7AD81309CB9B90@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB08456D9F03AF8BD450E6AB2EB9B80@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB0845282E7582DC95ADF0F140B9BB0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB084583452E7C41D0792C739EB9BB0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB0845845AC5AD54E3A2EAA05EB9BB0@MWHPR21MB0845.namprd21.prod.outlook.com>
In-Reply-To: <MWHPR21MB0845845AC5AD54E3A2EAA05EB9BB0@MWHPR21MB0845.namprd21.prod.outlook.com>
authentication-results: spf=none (sender IP is ) smtp.mailfrom=stephpr@microsoft.com;
x-ms-exchange-purlcount: 1
x-ms-oob-tlc-oobclassifiers: OLM:10000;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: XwTNabXh4+ndUa+akLpT33WTf7OVLI5q1DG9nykQmQhbAazkNlY41W0loRmkDpT/63/ZfM9waBY7p9rt3UZrjA==
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id x866KqEw006633

On 9/5/19 9:26 PM, Eric Blake wrote:
> Rather, go is not passing the command line to CreateProcess in the way
> that is unambiguously parseable in the manner expected by
> CommandLineToArgvW.

The specific example I gave is unambiguous and is parsed correctly by
CommandLineToArgvW, so if the goal is for Cygwin to effectively
simulate this function, I can confirm that it is missing this case.

It's reasonable that Go's algorithm should be changed to have a better
chance of working with Windows programs that manually implement
command line parsing and may not match expectations for all cases.
I'll follow up with them and for the time being, work around the issue
with my own implementation as I've since figured out how to do that.

FWIW, here's the most definitive reference I've found for how Windows
binaries compiled with the Microsoft C/C++ compilers do command line
parsing, in case there is any desire to address this issue at some point:

http://daviddeley.com/autohotkey/parameters/parameters.htm#WINCRULES

Thanks for entertaining my persistence on this topic!

Stephen


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


