X-Recipient: archive-cygwin AT delorie DOT 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:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; q=dns; s=default; b=uHALMQediG2yO5+m0YKTa26vphdPrfzDDoc3h8xPpsJ AsXoiYmm9O3/RsHHM1tO1THy1o9jVJUDQc7Mj+nSCLVur4JUNumM8ZLi/JwMhWPb xksYqTBOm1xfuCgW2dhM7AZNWljxFl9Mg0I7Ob5ViRo5xTzi9Csj38BOPK/1+Fyw = 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:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=default; bh=z+NKcAeRLoXlsvdXiQIOxxt+tiY=; b=ISGKe5GQ+ZHs1J4iQ vwq2VvsIwU6iIXEUmPqDn9FiZhOMtXlrBpgt6WEtegV6o8jFuQIFjN3ihNyXjWCn PIYWHKqsVDn8fYFXtd+ZZB73Am7a4v/bnwsoD61h2GAps/zgiPP9I3CvOKLVcndC S6FTMN7yiuWel+E0gs2beWHfUQ= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: <cygwin.cygwin.com> List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com> List-Archive: <http://sourceware.org/ml/cygwin/> List-Post: <mailto:cygwin AT cygwin DOT com> List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_50,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RDNS_NONE,SPF_PASS autolearn=ham version=3.3.1 Message-ID: <51E69DE2.10008@cwilson.fastmail.fm> Date: Wed, 17 Jul 2013 09:36:34 -0400 From: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: The Cygwin Mailing List <cygwin AT cygwin DOT com> Subject: Re: Issue with run.exe and PWD with spaces since last update (Cygwin 1.7.21) References: <295777180 DOT 20130716202913 AT mtu-net DOT ru> <20130717125916 DOT GB21347 AT calimero DOT vinschen DOT de> In-Reply-To: <20130717125916.GB21347@calimero.vinschen.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 7/17/2013 8:59 AM, Corinna Vinschen wrote: > This never works, even in any other directory. It's the same problem > which disallows checkX to work, as reported in > http://cygwin.com/ml/cygwin/2013-07/msg00326.html > > The cause is an optimization when calling cygwin executables. So far, > Cygwin executables got their arguments via mmeory copy as well as via > the single-line cmdline argument of CreateProcess. We removed the > latter since it was never meant to work that way in the first place. > > Unfortunately it turns out that run/run2/checkX are Cygwin executables > which don't have a main routine, but rather a WinMain routine. The > latter has a single cmdline argument, which is generated via > GetCommandLine(). But since Cygwin executables get no single-line > command line anymore, this stopped working. This is a pretty unusual situation. I don't know of any other tool -- except perhaps the old frankenstein half-cygwin-half-win32 tclsh.exe and wish.exe -- that does this, outside of run, run2, and checkX. All of which are cygwin-specific (or, at least, cygwin + mingw specific). Could we add a new cygwin_internal routine that triggers the allocation, creation and return of a suitable single-line command? Then run & friends could do (pseudo-code): WinMain() { LPCSTR s = GetCommandLine() #ifdef __CYGWIN__ if s empty s = (LPCSTR) cygwin_internal(CW_WIN32_COMMAND_LINE) #endif -- Chuck -- 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