This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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 GetCommandLineÌ.  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]