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