Issue with run.exe and PWD with spaces since last update (Cygwin 1.7.21)

Charles Wilson cygwin@cwilson.fastmail.fm
Wed Jul 17 14:09:00 GMT 2013


On 7/17/2013 9:45 AM, Corinna Vinschen wrote:
> On Jul 17 09:36, Charles Wilson wrote:
>> 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):

> That should be unnecessary.  The culprit here is the default main
> routine in cygwin's libcmain.c, which calls WinMain if the executable
> doesn't provide its own main.
>
> It doesn't construct the single-line commandline from argv, but rather
> it calls GetCommandLinė.  This, obviously, creates an empty command line
> for WinMain.
>
> So, the actual fix is to change libcmain's main() routine to create
> WinMain's cmdline arg from argc/argv.

Ack.

> However, either way, you will have to rebuild run/run2 for both
> architectures since libcmain.c is linked statically to the executable.

Right.

> So, if we do it this way, we should probably upload a new Cygwin DLL
> with the patched libcmain ASAP, so you can rebuild against the new
> libcmain.  Or, actually it would be better you would test this as soon
> as we made the patch, *before* releasing a new Cygwin DLL.

NP. Both of those packages have been recently rebuilt, so they are "up 
to date" with regard to the (relatively recent) w32api and cygport 
improvements; it's just a simply rebuild with no other changes.

> Anyway, if we do it that way, let's hope no other tool is doing the
> same...

Seems pretty unlikely to me. Most cygwin apps derive from a unix or 
traditional programming model heritage, and use main(). Very few would 
seem to derive from a Win32 heritage with WinMain() (why bother? just 
run the native program instead of porting a windows app to cygwin).

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



More information about the Cygwin mailing list