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

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jul 17 14:33:00 GMT 2013


On Jul 17 10:02, Charles Wilson wrote:
> 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).

Uhm.  In that case, if ew *really* think your tools are the only
affected ones, Why do we bother to fix libcmain.c?  Can't you then
simply provide your own main() in case of building for Cygwin?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

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